LeetCode MySQL 185. 部门工资前三高的所有员工(dense_rank)
发布日期:2021-07-01 03:30:49
浏览次数:2
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月28日 14时11分14秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Sum Root to Leaf Numbers
2019-05-02
Pascal's Triangle
2019-05-02
ffmpeg提取音频存为PCM
2019-05-02
我也学android(1)搭个环境
2019-05-02
Reverse Linked List II
2019-05-02
最长递增子序列
2019-05-02
题目1511:从尾到头打印链表
2019-05-02
Web Bench 源码学习1
2019-05-02
Search Insert Position
2019-05-02
Length of Last Word
2019-05-02
QuickSort快速排序
2019-05-02
hdu2052
2019-05-02
ubuntu小技巧
2019-05-02
c语言细读之static auto
2019-05-02
ffmpeg开发中的问题(九)
2019-05-02
leetcode-longest common prefix
2019-05-02
tinyhttpd源码学习1
2019-05-02
九度题目1015:还是A+B
2019-05-02
Mongoose API Reference
2019-05-02
hdu2568
2019-05-02