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