Mysql案例4:要求查询平均薪水最高部门的部门编号
Posted 我的星空123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 )
结果图:
以上是关于Mysql案例4:要求查询平均薪水最高部门的部门编号的主要内容,如果未能解决你的问题,请参考以下文章
6取得平均薪水最高的部门的部门名称bjpowernode34道SQL题
5取得平均薪水最高的部门的部门编号bjpowernode34道SQL题