我有三张桌子,我只给你看这里的相关栏目
表:组列:组ID,名称。
表:组到消息列:
组ID,消息ID
表:消息列:消息ID,
创建(日期)
我需要找到每个组的最后一条消息,不显示重复的组。
我试过这样使用group:
SELECT m.created, g.group_id
FROM groupss as g
JOIN group_to_message as gm ON (g.group_id = gm.group_id)
JOIN messages as m
GROUP BY g.group_id
ORDER BY m.created DESC
这将导致分组成功,但在排序之前完成,因此第一个结果将在排序之前获取。
感谢任何帮助。
最佳答案
如果我读对了你的问题,请使用max()。这将为您提供每个组的最新项目
例子。。。
SELECT MAX(m.created), g.group_id
FROM groupss as g
JOIN group_to_message as gm ON (g.group_id = gm.group_id)
JOIN messages as m ON (gm.message_id = gm.message_id)
GROUP BY g.group_id
ORDER BY m.created DESC