Здравствуйте. Помогите, пожалуйста.
Имеем две таблицы mysql, тексты и комментарии.
texts (id, text, data)
comments (id, text_id, comment, data)
Каким запросом выводить из базы список записей, чтобы первыми отображались тексты с новыми комментариями а дальше(в том же цикле) по убыванию по дате?
Заранее благодарен.
1. svoloch - 07 Апреля, 2011 - 10:54:57 - перейти к сообщению
2. Viper - 07 Апреля, 2011 - 11:04:14 - перейти к сообщению
svoloch пишет:
так они ж в любом случае сортируются по дате!? Или я не понял вашего замысла...чтобы первыми отображались тексты с новыми комментариями а дальше(в том же цикле) по убыванию по дате?
Вообще есть ORDER BY `date_field`DESC
3. svoloch - 07 Апреля, 2011 - 11:33:19 - перейти к сообщению
Viper пишет:
Вообще есть ORDER BY `date_field`DESC
svoloch пишет:
так они ж в любом случае сортируются по дате!? Или я не понял вашего замысла...чтобы первыми отображались тексты с новыми комментариями а дальше(в том же цикле) по убыванию по дате?
Вообще есть ORDER BY `date_field`DESC
Да, так они сортируются по дате.
НО! Мне необходимо организовать вывод с учетом даты добавления комментария.
Пример
Имеем 3 записи.
1 - дата публикации 05.04.2011, комментариев 3(последний 07.04.2011 в 16:30)
2 - дата публикации 06.04.2011, комментариев 0
3 - дата публикации 07.04.2011, комментариев 1(последний 07.04.2011 в 12:15)
И вывести мне эти записи надо в таком порядке - 1, 3, 2
То есть, при выводе мне надо в первую очередь выводить ту запись, к которой добавили последний комментарий, и так по убыванию.
4. Мелкий - 07 Апреля, 2011 - 11:41:46 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT `text`, `data`, `id` AS tid (SELECT max(`data`) FROM `comments` WHERE `comments`.`id`=tid) AS cdate FROM `texts` ORDER BY `cdate` DESC
Если не наглючил