相关疑难解决方法(0)

使用GROUP BY时,MYSQL显示不正确的行

我有两张桌子:

article('id', 'ticket_id', 'incoming_time', 'to', 'from', 'message')
ticket('id', 'queue_id')
Run Code Online (Sandbox Code Playgroud)

其中ticket表示支持人员和客户之间的电子邮件线程,而文章是组成线程的各个消息.

我希望找到具有最高的传入时间(表示为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
Run Code Online (Sandbox Code Playgroud)

例如,

: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
...
Run Code Online (Sandbox Code Playgroud)

但结果看起来是具有最小文章ID的行而不是我正在寻找的那个具有最高传入时间的文章.

任何建议将不胜感激!

mysql select group-by max greatest-n-per-group

4
推荐指数
1
解决办法
4221
查看次数

标签 统计

greatest-n-per-group ×1

group-by ×1

max ×1

mysql ×1

select ×1