LeetCode MySQL 185. 部门工资前三高的所有员工(dense_rank)
发布日期:2021-07-01 03:30:49
浏览次数:3
分类:技术文章
本文共 2202 字,大约阅读时间需要 7 分钟。
文章目录
1. 题目
Employee 表包含所有员工信息,每个员工有其对应的工号 Id,姓名 Name,工资 Salary 和部门编号 DepartmentId 。
+----+-------+--------+--------------+| Id | Name | Salary | DepartmentId |+----+-------+--------+--------------+| 1 | Joe | 85000 | 1 || 2 | Henry | 80000 | 2 || 3 | Sam | 60000 | 2 || 4 | Max | 90000 | 1 || 5 | Janet | 69000 | 1 || 6 | Randy | 85000 | 1 || 7 | Will | 70000 | 1 |+----+-------+--------+--------------+
Department 表包含公司所有部门的信息。
+----+----------+| Id | Name |+----+----------+| 1 | IT || 2 | Sales |+----+----------+
编写一个 SQL 查询,找出每个部门获得前三高工资的所有员工。
例如,根据上述给定的表,查询结果应返回:
+------------+----------+--------+| Department | Employee | Salary |+------------+----------+--------+| IT | Max | 90000 || IT | Randy | 85000 || IT | Joe | 85000 || IT | Will | 70000 || Sales | Henry | 80000 || Sales | Sam | 60000 |+------------+----------+--------+解释:IT 部门中,Max 获得了最高的工资,Randy 和 Joe 都拿到了第二高的工资,Will 的工资排第三。销售部门(Sales)只有两名员工,Henry 的工资最高,Sam 的工资排第二。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/department-top-three-salaries 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
# Write your MySQL query statement belowselect Department, Employee, Salaryfrom( select d.Name Department, e.Name Employee, Salary, dense_rank() over(partition by d.Name order by Salary desc) rnk from Employee e left join Department d on e.DepartmentId = d.Id) twhere rnk <= 3 and Department is not null
or
# Write your MySQL query statement belowselect Department, Employee, Salaryfrom( select d.Name Department, e.Name Employee, Salary, dense_rank() over(partition by d.Name order by Salary desc) rnk from Employee e right join Department d on e.DepartmentId = d.Id) twhere rnk <= 3 and Employee is not null
or 使用内连接,自动去除 null 的行
select Department, Employee, Salaryfrom( select d.Name Department, e.Name Employee, Salary, dense_rank() over(partition by d.Name order by Salary desc) rnk from Employee e join Department d on e.DepartmentId = d.Id) twhere rnk <= 3
我的CSDN
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
转载地址:https://michael.blog.csdn.net/article/details/107736699 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月22日 22时36分49秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
比特币,父母这一辈能接受吗?
2021-07-04
为什么要反对比特币,这不代表是空气币
2021-07-04
SnapEx的新感觉,对新手很友好
2021-07-04
首个聚合器怎么产生的,并运用领域在什么
2021-07-04
区块链技术应用,最先医疗行业
2021-07-04
新币上市旧币会降价吗
2021-07-04
当博士进入币圈会怎么样
2021-07-04
《增长黑客》(肖恩·艾利斯)学习笔记——第二部分 实战
2021-07-04
python使用HTMLTestRunner查看运行函数
2021-07-04
python的ImportError
2021-07-04
linux下安装jenkins+git+python
2021-07-04
解决uiautomatorviewer中添加xpath的方法
2021-07-04
性能测试的必要性评估以及评估方法
2021-07-04
Spark学习——利用Mleap部署spark pipeline模型
2019-05-01
Oracle创建表,修改表(添加列、修改列、删除列、修改表的名称以及修改列名)
2019-05-01
使用redis实现订阅功能
2019-05-01
对称加密整个过程
2019-05-01
java内存模型
2019-05-01
volatile关键字
2019-05-01