2011-01-03 4 views
1

Я пытаюсь вытащить записи из своей базы данных на основе самой старой даты.PHP/MySQL Сортировать по дате

В таблице MySQl выглядит следующим образом:

статус, дата последнего, гиперссылка

1, 2010-12-30 17:59:54, 2011-01-03 6:26:04, site1.com

1, 2010-12-28 12:16:10, 2011-01-03, 6:25:24, site2.com

дата и последние строки являются даты и времени.

Вот два типа запросов я пробовал:

mysql_query("SELECT * FROM links WHERE status=1 ORDER BY last DESC LIMIT 0,25"); 
mysql_query("SELECT * FROM links WHERE status=1 ORDER BY DATE(last) DESC LIMIT 0,25"); 

Запрос работает по большей части, но всегда оставляет некоторые из самых старых записей выходят ...

Любые идеи?

Спасибо

+0

Ну, вы ограничиваете на 25 результатов, так что вы не будете видеть только последний 25. Первый запрос достаточно, нет необходимости использовать '' date' на last'. – nico

+0

Стол имеет 100 строк. Я только хотел 25 с самыми старыми датами. – R3dBu77

ответ

1

Я собираюсь предположить, что «последний» означает, что последняя клику или обновлен правильно? Я также думаю, что вы хотите по возрастанию (12/20, 12/21), потому что сначала вам нужны самые старые даты. «ORDER by last LIMIT 25» должен быть точным, поскольку ASC неявно.

+0

Да, это на 100% то, что я хочу. Я дам это при попытке. :) – R3dBu77

1

Каковы даты и типы данных? временная метка или?

попробовать это:

mysql_query("SELECT * FROM links WHERE status=1 ORDER BY UNIX_TIMESTAMP(last) DESC LIMIT 0,25"); 
+0

Дата и последнее оба являются DATETIME. – R3dBu77

Смежные вопросы