table: chat_thread
+-----------+----------+--------------------+
| id | title | date |
+-----------+----------+--------------------+
| 1 | Thread 1 | 2012-02-16 01:12:40|
| 2 | Thread 2 | 2012-02-17 02:32:44|
+-----------+----------+--------------------+
table: chat_comment
+-----------+----------+--------------------+
| id | t_id | date |
+-----------+----------+--------------------+
| 1 | 1 | 2012-02-19 19:45:32|
| 2 | 1 | 2012-02-15 22:29:20|
+-----------+----------+--------------------+
Вот моя ситуация, я создаю базовый форум с темами и комментариями. Я хочу заказать последнюю дату комментария, а если комментариев нет, укажите дату начала потока. Проблема, с которой я сталкиваюсь, заключается в том, чтобы повторить последнюю дату ответа в моем цикле while.MySQL GROUP BY - неверные даты
mysql_query("
SELECT *,
chat_comment.date AS commentDate,
chat_thread.date AS threadDate
FROM chat_thread
LEFT JOIN chat_comment ON chat_thread.id = chat_comment.t_id
GROUP BY chat_thread.id
ORDER BY commentDate DESC, threadDate DESC");
Моя проблема - это неправильный порядок тем, но даты комментариев. В моих таблицах выше, если я пытаюсь отозвать дату, в настоящее время я получаю 2012-02-15 22:29:20 вместо последних 2012-02-19 19:45:32.
Есть ли что-то, что я делаю неправильно?
Я думаю, что это что-то делать с GROUP BY, потому что если я изменить его GROUP BY chat_comment.date
то дата в то время цикла является точной, но есть дубликаты, потому что я не группируя по chat_thread.id
Спасибо, я знал, что это, вероятно, что-то просто я скучал. Я приму этот ответ, как только это позволит. Еще раз спасибо! – Jako
@ Jako: Добро пожаловать! – ruakh