Mysql案例4:要求查詢平均薪水最高部門的部門編號


一、要求:查詢平均薪水最高部門的部門編號

二、背景:emplyee表數據如下

三、難點:需要考慮最高平均薪資可能在多個部門同時出現,查詢出來的結果需要涵蓋所有最高平均薪資的部門id

四、思路:

第一步:先求出每個部門的平均薪資,作為臨時表 t

SELECT departmentid,AVG(salary) avgsal
FROM employee
GROUP BY departmentid

第二步:從第一步得出的每個部門平均薪資里求出最高值

SELECT 
            MAX(t.avgsal) maxsal
FROM (
            SELECT departmentid,AVG(salary) avgsal
            FROM employee
            GROUP BY departmentid) t

第三步:用 臨時表 t 再去匹配第二步得出的最大值,看哪個部門的平均薪資等於第二步的值

最終代碼:

SELECT 
            e.departmentid,AVG(e.salary) avgsal
FROM 
            employee e
GROUP BY 
            departmentid
HAVING 
            avgsal = (
                                SELECT 
                                            MAX(t.avgsal) maxsal
                                FROM (
                                            SELECT departmentid,AVG(salary) avgsal
                                            FROM employee
                                            GROUP BY departmentid) t
                                )

結果圖:

 


免責聲明!

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



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