Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: SQL: отсортировать половину таблицы по одному столбцу, а оставшуюся - по другому

Сообщения:  [1-10]   [11-18] 

 
 автор: cheops   (25.04.2011 в 21:17)   письмо автору
 
   для: OLi   (25.04.2011 в 19:23)
 

Ну к ним будет применяться та же самая логика? Тогда все точно также. Если нет, нужно более подробно описать, как будет изменяться положение позиций в сортировки со временем и возникновением событий.

PS Что за клик и кто его осуществляет? У нас первыми выводятся новые сообщения или с самым высоким рейтингом или с рейтингом, который изменился сегодня?

  Ответить  
 
 автор: OLi   (25.04.2011 в 19:23)   письмо автору
 
   для: cheops   (25.04.2011 в 17:00)
 

Хорошо, а как с теми, которые будут по клику подниматься выше всех новых добавленных?

  Ответить  
 
 автор: cheops   (25.04.2011 в 17:00)   письмо автору
 
   для: OLi   (25.04.2011 в 16:46)
 

Может тогда просто двумя запросами обойтись? Выбрать первые 5 позиций, сохранить их id и сформировать из них список, который использовать в следующем запросе для исключения этих записей? Получится два запроса, зато очень простых. Мы просто сейчас в LIMIT-ы уйдем, а они в MySQL не очень эффективные.

  Ответить  
 
 автор: OLi   (25.04.2011 в 16:46)   письмо автору
 
   для: cheops   (25.04.2011 в 16:15)
 

тогда может при добавлении записи заносить в рейтинг -1 и потом отображать...просто теряется логика..
как вариант выводить сначала первые 5 последних записей по убывающим id и рейтингом = -1
потом выводить все записи по убыванию rating (>0) а заем все остальные.
Но фишка в том, что когда я жму +1 для rating любой записи - она должна отобразиться уже выше самых первых записей...т-е тут условия уже правильно не сработают...может при увеличении на 1

Я думаю, что логика построения у меня не правильная...
1) Вывести 5 последних записей (самый вверх)
2) следом все записи отсортированные по rating (rating>0)
3) остальные

#####
Если для записи произошло rating+1 то она отображается в самом верху, следом все что было раньше....

  Ответить  
 
 автор: cheops   (25.04.2011 в 16:15)   письмо автору
 
   для: OLi   (25.04.2011 в 16:01)
 

А где вы его хотите увидеть? Насколько я понял из описания все верно (у него же рейтинг 0, т.е. он не может подниматься выше тех позиций, у которых рейтинг выше 0).

  Ответить  
 
 автор: OLi   (25.04.2011 в 16:01)   письмо автору
47.1 Кб
 
   для: cheops   (25.04.2011 в 15:33)
 

Да, верно, добавил id DESC, вот что получил (скрин)
Как видно, 580 не там где надо...

  Ответить  
 
 автор: cheops   (25.04.2011 в 15:33)   письмо автору
 
   для: OLi   (25.04.2011 в 15:26)
 

Тогда он у нас автоматически уходит во вторую группу, располагающуюся между теми у кого рейтинг больше 0 и теми у кого он отрицательный. Или вам нужно, чтобы наиболее новые позиции оказывались выше? Тогда для id нужно добавить DESC, как вы делали раньше.

  Ответить  
 
 автор: OLi   (25.04.2011 в 15:26)   письмо автору
 
   для: cheops   (25.04.2011 в 15:19)
 

rating для id=580 равен 0

  Ответить  
 
 автор: cheops   (25.04.2011 в 15:19)   письмо автору
 
   для: OLi   (25.04.2011 в 15:07)
 

А рейтинг у id = 580 какой?

  Ответить  
 
 автор: OLi   (25.04.2011 в 15:10)   письмо автору
 
   для: OLi   (25.04.2011 в 15:07)
 

Т-е последние, скажем 5 (по id) записей надо отобразить в самом верху

  Ответить  

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования