首页 > 其他 > 详细

185. 部门工资前三高的所有员工

时间:2020-03-23 17:23:33      阅读:63      评论:0      收藏:0      [点我收藏+]

185. 部门工资前三高的所有员工

1 # Write your MySQL query statement below
2 select d.name Department, e1.Name Employee, e1.Salary from Employee e1 left join Employee e2 
3     on e1.DepartmentId = e2.DepartmentId and e1.Salary < e2.Salary
4     join Department d on e1.DepartmentId = d.Id 
5     group by e1.Id having count(distinct e2.Salary) <=2 order by e1.Salary desc;

首先使用左连接,进行第一次筛选,选出比当前的工资高的数据

然后再和department进行inner join一次,删除不合法的数据

然后再就是调用group by,进行分组以便于查询

然后分组之后,判断个数即可,如果大于当前值的不重复的有两个,就算符合规则

185. 部门工资前三高的所有员工

原文:https://www.cnblogs.com/letlifestop/p/12553268.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!