Mysql-group先分组后排序
1、先分组后排序、考虑并列第一
#错误写法 SELECT b.depName AS departId, a.`name` AS employee, max(salary) AS salary FROM cs_employee a LEFT JOIN cs_depart b ON a.departId = b.id GROUP BY a.departId #正确写法(先取出部门不为空的工资最大值,然后关联查询) SELECT a.max AS salary, b.`name` AS employee, c.depName AS departId FROM (SELECT MAX(salary) max FROM cs_employee t WHERE t.departId is NOT NULL GROUP BY t.departId ) a LEFT JOIN cs_employee b ON a.max = b.salary LEFT JOIN cs_depart c ON b.departId = c.id ORDER BY b.departId
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步