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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM