|
|
|
| Запрос такого вида
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(MAX(posts.posted),'%d.%m.%y %H:%i')) AS posted
ORDER by posted DESC
|
Выводит даты, ну вроде того:
16.07.06 20:41
15.08.06 10:34
14.08.06 19:03
Причем сортирует именно вот так, а не как предполагалось:
15.08.06 10:34
14.08.06 19:03
16.07.06 20:41
Менял тип поля, использовал ф-цию DATEFORMAT, но сортирует именно так.
В чем прчина этого? | |
|
|
|
|
|
|
|
для: cyberface
(15.08.2006 в 23:27)
| | если из запроса убрать ключ. слово DESC - то сортировка будет в порядке возрастания | |
|
|
|
|
|
|
|
для: cyberface
(15.08.2006 в 23:27)
| | Потому что 16 > 15. Что пишите, то и получаете. | |
|
|
|
|
|
|
|
для: cyberface
(15.08.2006 в 23:27)
| | Потому что сортировка идёт уже не по дате а по строке, для того чтобы сортировка шла как следует лучше измените псевдоним вычисляемого столбца
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(MAX(posts.posted),'%d.%m.%y %H:%i')) AS posted_date
ORDER by posted DESC
|
| |
|
|
|
|
|
|
|
для: cheops
(16.08.2006 в 11:48)
| | человек хочет сортировать по результату агрегата.
Боюсь, что так просто не получится. | |
|
|
|
|
|
|
|
для: Trianon
(16.08.2006 в 12:04)
| | Тогда лучше не форматировать дату средствами MySQL, а отформатировать её уже в PHP-скрипте или программе, которая обрабатывает запрос. | |
|
|
|
|
|
|
|
для: cheops
(16.08.2006 в 12:06)
| | Дело в том, что раньше при таком запросе все нормально сортировалось, а когда после небольшого отдыха я вновь принялся за разработку своего проекта, то уже почему-то порядок сортировки изменился.
Но все равно спасибо. | |
|
|
|