题目

表: Employee

+--------------+---------+
| Column Name  | Type    |
+--------------+---------+
| id           | int     |
| name         | varchar |
| salary       | int     |
| departmentId | int     |
+--------------+---------+
Id是该表的主键列。
departmentId是Department表中ID的外键。
该表的每一行都表示员工的ID、姓名和工资。它还包含了他们部门的ID。

表: Department

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| name        | varchar |
+-------------+---------+
Id是该表的主键列。
该表的每一行表示部门ID和部门名。

公司的主管们感兴趣的是公司每个部门中谁赚的钱最多。一个部门的 高收入者 是指一个员工的工资在该部门的 不同 工资中 排名前三 。

编写一个SQL查询,找出每个部门中 收入高的员工 。

以 任意顺序 返回结果表。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/department-top-three-salaries
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

WITH ts AS (SELECT departmentId,salary FROM Employee

GROUP BY departmentId,salary ORDER BY departmentId,salary DESC),
tm AS (SELECT departmentId,salary,rank() over(PARTITION BY departmentId ORDER BY salary DESC) as seq FROM ts)
SELECT Department.name AS Department, Employee.name AS Employee, Employee.salary AS Salary
FROM Employee,Department,tm
WHERE tm.seq <=3 AND Employee.departmentId=Department.id AND tm.departmentId= Employee.departmentId AND tm.salary=Employee.salary;

Mysql 查询工资前三高的员工相关推荐

  1. 对应sql建表_图解SQL面试题:如何查找工资前三高的员工

    [题目] ​"成绩表"记录了学生的学号,学生选修的课程,以及对应课程的成绩. 为了对学生成绩进行考核,现需要查询每门课程的前3高成绩. 注意:如果出现并列第一的情况,则同为第一名. ...

  2. 查找工资前三高的员工

    [题目] "成绩表"记录了学生的学号,学生选修的课程,以及对应课程的成绩. 为了对学生成绩进行考核,现需要查询每门课程的前3高成绩. 注意:如果出现并列第一的情况,则同为第一名. ...

  3. Oracle查询工资前三的员工信息

    --创建去重后的工资排序 create or replace view e2 as select distinct sal from emp order by sal desc--查询工资前三 --s ...

  4. 2022-12-05:部门工资前三高的所有员工。编写一个SQL查询找出每个部门中收入前三高的员工 。 +------------+----------+--------+ | Department |

    2022-12-05:部门工资前三高的所有员工.编写一个SQL查询找出每个部门中收入前三高的员工 . ±-----------±---------±-------+ | Department | Em ...

  5. 【SQL编写实战】查询部门工资前三高的所有员工

    [SQL编写实战]查询部门工资前三高的所有员工 最近看到一个sql 题 描述为: Employee 表包含所有员工信息,每个员工有其对应的工号 Id,姓名 Name,工资 Salary 和部门编号 D ...

  6. 取部门工资前三高的所有员工 -- sql 面试(三)

    取部门工资前三高的所有员工 两种思路: 1.对于这种分组内取前几名的问题,可以先group by然后用having count()来筛选,比如这题,找每个部门的工资前三名,那么先在子查询中用Emplo ...

  7. oracle数据库中关于部门工资前三高的查询(重点学习思路)

    在oracle数据库中我使用的是Scott登录进行的部门工资前三高的查询,可能有很多方法,但是我没想到,于是请教大神提供了一种方法: 查询每个部门的工资最高前三名 1,方法一 select deptn ...

  8. 查询每个部门工资前三名的员工信息

    问:Oracle的EMP表,查询每个部门工资前三名的员工信息,如何写??  解答:(通用sql) [java]  view plain copy select deptno, ename, sal f ...

  9. 查出每个部门的工资前三的员工信息

    目录 一.建员工信息表u_info: 1.建表: 2.插入员工数据: 二.建部门表department: 1.建表: 2.插入部门数据: 三.表内容: 四.要求及实现: 1.要求: 2.SQL如实现步 ...

最新文章

  1. 微调torchvision 0.3的目标检测模型
  2. 各类机器学习问题的最优结果合集!附论文及实现地址索引
  3. 设置tomcat管理员的用户名和密码
  4. 资源文件相关学习总结
  5. PHP7.0 Window10 Redis安装教程
  6. 【Tiny4412】烧写Qt文件系统到SD卡
  7. 如何在symfony 控制器里面创建soap web service
  8. 如何获取一个需要登录页面的HTML代码
  9. 仿微信源代码android,android 最新版超高仿微信源码。
  10. 电商生鲜网站开发(接口文档)
  11. mcgs 云服务器,MCGS软件系统的组态环境和运行环境
  12. 使用telnet发送email(内嵌图片,附件)
  13. 智能AI机器人AI源码营销机器人电销机器人智能电话机器人拨号机器人语音机器人
  14. 定义平行四边形类,继承四边形类,增加判断是否为平行四边形的函数
  15. linux教程试卷_linux基础教程试卷及答案.doc
  16. python数据可视化代码示例
  17. ios微信公众号分享自定义分享无效
  18. Java和Java大数据有什么区别?
  19. uniapp附件上传及预览
  20. 28.Android 十分方便的EasyRecyclerView

热门文章

  1. live555源码分析----关于mp3的处理
  2. php云签到,云签到之DiscuzX系列论坛自动签到
  3. matlab绘制上证指数价格和收益率曲线
  4. python sslerror_python中的ssl错误是什么意思?
  5. 83、城市消防远程监控系统设计要求
  6. 问道量化投资用matlab来敲门 pdf,问道量化投资-用MATLAB来敲门
  7. ionic2 tabs 自定义图标
  8. 自我介绍html模板王,短信自我介绍模板
  9. NSIS:静默释放文件并运行 制作绿色单文件软件
  10. 自然资源数据治理方案