SQL架构

Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id 。

+----+-------+--------+--------------+
| Id | Name  | Salary | DepartmentId |
+----+-------+--------+--------------+
| 1  | Joe   | 70000  | 1            |
| 2  | Henry | 80000  | 2            |
| 3  | Sam   | 60000  | 2            |
| 4  | Max   | 90000  | 1            |
| 5  | Janet | 69000  | 1            |
| 6  | Randy | 85000  | 1            |
+----+-------+--------+--------------+

Department 表包含公司所有部门的信息。

+----+----------+
| Id | Name     |
+----+----------+
| 1  | IT       |
| 2  | Sales    |
+----+----------+

编写一个 SQL 查询,找出每个部门工资前三高的员工。例如,根据上述给定的表格,查询结果应返回:

+------------+----------+--------+
| Department | Employee | Salary |
+------------+----------+--------+
| IT         | Max      | 90000  |
| IT         | Randy    | 85000  |
| IT         | Joe      | 70000  |
| Sales      | Henry    | 80000  |
| Sales      | Sam      | 60000  |
+------------+----------+--------+

# Write your MySQL query statement below
SELECT d.Name AS Department, e.Name AS Employee, e.Salary FROM Employee e
JOIN Department d on e.DepartmentId = d.Id
WHERE (SELECT COUNT(DISTINCT Salary) FROM Employee WHERE Salary > e.Salary
AND DepartmentId = d.Id) < 3 ORDER BY d.Name, e.Salary DESC;

185.部门工资前三高的员工相关推荐

  1. LeetCode MySQL 185. 部门工资前三高的所有员工(dense_rank)

    文章目录 1. 题目 2. 解题 1. 题目 Employee 表包含所有员工信息,每个员工有其对应的工号 Id,姓名 Name,工资 Salary 和部门编号 DepartmentId . +--- ...

  2. 文巾解题 185. 部门工资前三高的所有员工

    1 题目描述 2 解题思路 1 先在employee表找到前三工资对应的员工 2 然后和department表联立,将部门的id转换成字符串 SELECT D.Name AS Department,M ...

  3. 2022-4-8 Leetcode 185.部门工资前三高的所有员工

    SELECTd.Name AS 'Department', e1.Name AS 'Employee', e1.Salary FROMEmployee e1JOINDepartment d ON e1 ...

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

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

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

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

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

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

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

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

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

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

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

    Employee 表包含所有员工信息,每个员工有其对应的工号 Id,姓名 Name,工资 Salary 和部门编号 DepartmentId . Department 表包含公司所有部门的信息. 编写 ...

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

    LeetCode原题 https://leetcode-cn.com/problems/department-top-three-salaries/ 初始sql DROP TABLE IF EXIST ...

最新文章

  1. 解决git本地提交不到远程库
  2. 2019年9月2日开学!寒假时间也定了……
  3. html页面在微信分享php,详解html静态页面实现微信分享思路的示例代码分析
  4. mvc ajax get请求,springMVC 中 ajax get 请求和 post 请求的坑以及参数传递
  5. 关于MCP2515帧连发、多发的坑
  6. java逆数组如何print_Java 逆数组
  7. Spring5的系统架构
  8. html安卓手机打开后只有半屏,宽度设置100%在移动端时变成一半
  9. python刷题相关资料汇总(二)
  10. 深入解析 Go 中 Slice 底层实现
  11. Linux时间同步(内外网/内网/外网)
  12. oracle客户端ora 12541,Oracle 11g 64bit下程序报ORA-12541: TNS: 无监听程序解决办法
  13. Dubbo不向zookeeper/nacos注册
  14. MATLAB中FFT使用方法
  15. 软考架构师 | 论文
  16. matlab串口实时画图,基于MATLABGUI界面的MCU串口实时绘图设计
  17. 听说最近知识变现,测一测程序员的知识广度?
  18. 激光三角测量物体高度
  19. java 字符串不等于_java如何对字符串进行不等于判断
  20. Python网络爬虫实战项目代码大全

热门文章

  1. C# MysqlHelper 执行reader时,遇到致命错误或者超时
  2. C#hashtable使用说明 以及 Hashtable和HashMap的区别【总结性】
  3. [Django学习] Django基础(8)_富文本编辑器
  4. css常见样式命名思想
  5. 高德发布十一出行预测:全国高速流量增长7%
  6. 新系统基础优化--Centos6.6
  7. 计算机算法设计与分析第三章答案,《计算机算法设计与分析》第三章动态规划法.ppt...
  8. app营销实训报告_数据科学实训总结(15):一睹python数据分析的真容
  9. 传智播客学python_传智播客python 12天学会Python系列视频 177个视频教程 完整学习Python编程...
  10. 用计算机探索ppt,《用计算器探索规律 2》ppt课件.ppt