这个问题已经有了答案:
我有两张桌子- groups 和 messages .
groups
messages
消息具有以下字段 group_id 和 date_created 是的。所以很多信息可以添加到一个组中我想从表中选择所有组-最相关的在顶部,即按最新消息日期排序我试过这样的东西
group_id
date_created
SELECT g.*, MAX(m.date_created) AS mdt FROM groups g LEFT JOIN messages m ON g.id = m.group_id ORDER BY mdt DESC;
但此查询只返回整张表中的一行和最大消息日期。
你失踪了 group by :
group by
SELECT g.*, MAX(m.date_created) AS mdt FROM groups g LEFT JOIN messages m ON g.id = m.group_id GROUP BY g.id ORDER BY mdt DESC;