代码之家  ›  专栏  ›  技术社区  ›  Majesty

MySQL:按联接表的最大日期排序[重复]

  •  0
  • Majesty  · 技术社区  · 7 年前

    这个问题已经有了答案:

    我有两张桌子- groups messages .


    消息具有以下字段 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;
    

    但此查询只返回整张表中的一行和最大消息日期。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Gordon Linoff    7 年前

    你失踪了 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;