|
|
|
|
|
для: cheops
(14.05.2008 в 16:34)
| | Большое спасибо, помогло :) | |
|
|
|
|
|
|
|
для: maxfade
(14.05.2008 в 15:01)
| | Введите ещё одно поле flag, которое формируйте динамически при помощи функции IF() и сортируйте в конструкции ORDER BY сначала по нему
$query = "SELECT id,
class,
DATE_FORMAT(putdate,'%d.%m.%Y %H:%i') as putdate_format,
DATE_FORMAT(cldate,'%d.%m.%Y %H:%i') as cldate_format,
DATE_FORMAT(restdate,'%d.%m.%Y %H:%i') as restdate_format,
DATE_FORMAT(cl_resdate,'%d.%m.%Y %H:%i') as cl_resdate_format,
IF(class = 1, 0, 1) AS flag,
tt,
object,
object_type,
opis,
coment,
cl_text,
res_text,
hide
FROM gtt
WHERE putdate <= NOW()
ORDER BY flag ASC, hide ASC, putdate DESC
LIMIT $begin, $all_number_news;
";
|
| |
|
|
|
|
|
|
| Добрый день.
Есть вопрос по сложной сортировке.
Есть таблица (часть ее):
|..........Дата..........|.....Класс....|.....Скрыто.....|
|.....2008-05-12...|.........1........|.......Show.......|
|.....2008-05-13...|.........2........|.......Show.......|
|.....2008-05-11...|.........3........|.......Show.......|
|.....2008-05-13...|.........3........|.......Show.......|
|.....2008-05-13...|.........3........|.......Show.......|
|.....2008-05-12...|.........1........|.......Hide.........|
Как мне отсортировать с приоритетом полей "Скрыто" и "Дата", но так, чтобы строки где поле "Класс" = 1 всегда были сверху. внезависимости от даты?
Вот Запрос в базу:
$query = "SELECT id,
class,
DATE_FORMAT(putdate,'%d.%m.%Y %H:%i') as putdate_format,
DATE_FORMAT(cldate,'%d.%m.%Y %H:%i') as cldate_format,
DATE_FORMAT(restdate,'%d.%m.%Y %H:%i') as restdate_format,
DATE_FORMAT(cl_resdate,'%d.%m.%Y %H:%i') as cl_resdate_format,
tt,
object,
object_type,
opis,
coment,
cl_text,
res_text,
hide
FROM gtt
WHERE putdate <= NOW()
ORDER BY hide ASC, putdate DESC
LIMIT $begin, $all_number_news;
";
|
Т.е. сейчас в моем примере идет сортировка с приоритетом - вначале по hide, потом по putdate. В итоге получаем сортировку вначале идут не скрытые материалы, потом скрытые и все они отсортированы по дате.
Как еще сделать так, чтобы элементы со значением class=1 были всегда сверху , отсортированные в томже приоритете? | |
|
|
|
|