MYSQL показывает некорректные строки при использовании GROUP BY
У меня есть две таблицы:
article('id', 'ticket_id', 'incoming_time', 'to', 'from', 'message')
ticket('id', 'queue_id')
где тикеты представляют собой цепочку писем между службой поддержки и клиентами, а статьи - отдельные сообщения, составляющие цепочку.
Я ищу, чтобы найти статью с самым высоким входящим временем (выраженным как метка времени Unix) для каждого ticket_id, и это запрос, который я сейчас использую:
SELECT article.* , MAX(article.incoming_time) as maxtime
FROM ticket, article
WHERE ticket.id = article.ticket_id
AND ticket.queue_id = 1
GROUP BY article.ticket_id
Например,
:article:
id --- ticket_id --- incoming_time --- to ------- from ------- message --------
11 1 1234567 help@ client@ I need help...
12 1 1235433 client@ help@ How can we help?
13 1 1240321 help@ client@ Want food!
...
:ticket:
id --- queue_id
1 1
...
Но в результате получается строка с наименьшим идентификатором статьи вместо того, что я ищу - статья с наибольшим временем поступления.
Любой совет будет принята с благодарностью!