【发布时间】:2020-08-24 13:12:23
【问题描述】:
我想要得到的结果是对于每个已经开始的对话,我想要消息表中的 MAX(threadNum)。目前查询是
SELECT c.conversation_id
FROM conversation as c
INNER JOIN (
SELECT MAX(threadNum), user_from, user_to, message, dateTime, deleted,replied
FROM messages
GROUP BY conversation_id
) as m ON c.conversation_id = m.conversation_Id
WHERE (m.user_to ='$userId' OR m.user_from ='$userId') AND m.deleted = 0
我期望的 conversation_Id 和 threadNum 的结果是: 35 5 34 4 33 55
每个 conversation_Id 一个结果,并且只有最大的 threadNum 结果。目前我得到一个 m.converation_Id 是一个未知的列。查询结构有什么问题?更重要的是,有没有更简单的方法来做我想做的事情?
【问题讨论】:
标签: mysql sql database join greatest-n-per-group