Leetcode -MySQL-184. 部门工资最高的员工
SQL架构
Employee
表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id。
+----+-------+--------+--------------+
| Id | Name | Salary | DepartmentId |
+----+-------+--------+--------------+
| 1 | Joe | 70000 | 1 |
| 2 | Jim | 90000 | 1 |
| 3 | Henry | 80000 | 2 |
| 4 | Sam | 60000 | 2 |
| 5 | Max | 90000 | 1 |
+----+-------+--------+--------------+
Department
表包含公司所有部门的信息。
+----+----------+
| Id | Name |
+----+----------+
| 1 | IT |
| 2 | Sales |
+----+----------+
编写一个 SQL 查询,找出每个部门工资最高的员工。对于上述表,您的 SQL 查询应返回以下行(行的顺序无关紧要)。
+------------+----------+--------+
| Department | Employee | Salary |
+------------+----------+--------+
| IT | Max | 90000 |
| IT | Jim | 90000 |
| Sales | Henry | 80000 |
+------------+----------+--------+
解释:
Max 和 Jim 在 IT 部门的工资都是最高的,Henry 在销售部的工资最高。
方法一:
将题目分解。 第一步:首先不关注部门名称,找出每个部门工资最高的信息,得到表a:
select max(Salary) m,DepartmentId from Employee group by DepartmentId
第二步:然后与Employee 表联查找到每个工资最高的人员信息,得到表b:
select e.Name,e.Salary,e.DepartmentId from Employee e,a where e.Salary =a.m and e.DepartmentId =a.DepartmentId
第三步:对应上部门名称
select d.name Department,b.name Employee,Salary from b , Department d where b.DepartmentId =d.id;
虽然有点长,但是思路清晰,一般人都能想得到
执行用时 : 241 ms , 在所有 MySQL 提交中击败了 22.10% 的用户 内存消耗 : 0B , 在所有 MySQL 提交中击败了 100.00% 的用户
select d.name Department,b.name Employee,Salary from (select e.Name,e.Salary,e.DepartmentId from Employee e,(select max(Salary) m,DepartmentId from Employee group by DepartmentId) awhere e.Salary =a.m and e.DepartmentId =a.DepartmentId) b , Department d where
b.DepartmentId =d.id;
方法二:
select d.name as Department,e.name as Employee,e.salary
from employee e,department d
where e.departmentid=d.id
and (e.salary,e.departmentid) in (select max(salary),departmentid from employee group by departmentid);
方法三:
select d.Name as Department, e.Name as Employee, e.Salary
from Department d inner join Employee e on d.Id = e.DepartmentId
and e.Salary >= (select max(Salary) from Employee where DepartmentId = d.Id)
Leetcode -MySQL-184. 部门工资最高的员工相关推荐
- LeetCode MySQL 184. 部门工资最高的员工
文章目录 1. 题目 2. 解题 1. 题目 Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id. +----+-------+------ ...
- LeetCode For SQL 184. 部门工资最高的员工 (分组 from嵌套)
184. 部门工资最高的员工 # Write your MySQL query statement below-- 先找出每个部门最高薪资,显示出部门id.部门名称和薪资 -- 然后再通过这个新表,根 ...
- 184. 部门工资最高的员工
Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id. +----+-------+--------+--------------+ | Id ...
- LeetCode MySQL 185. 部门工资前三高的所有员工(dense_rank)
文章目录 1. 题目 2. 解题 1. 题目 Employee 表包含所有员工信息,每个员工有其对应的工号 Id,姓名 Name,工资 Salary 和部门编号 DepartmentId . +--- ...
- 文巾解题 184. 部门工资最高的员工
1 题目描述 2 解题思路 先在employee表中找到每个部门工资最高是多少钱(DS) 然后在employee表中找工资等于最高工资的员工.(联立employee表中的E) 最后通过Departme ...
- 【sql】184. 部门工资最高的员工
题目: 力扣 表: Employee +--------------+---------+ | 列名 | 类型 | +--------------+---------+ | i ...
- mysql查询每个部门工资最高的员工信息_SQL简单面试题:查询每个部门工资最高的前10位员工...
前段时间同事突然甩了一个SQL面试题给我,题目是需要查询每个部门工资最高的前10位员工.想着查每个部门的最高还好,用max语句就可以搞定,这是要取前十.... 快速构建了一下思路,查了一下有没有类似的 ...
- Leetcode-184. 部门工资最高的员工
题目链接: Leetcode-184 Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id. +----+-------+--------+- ...
- 编写一个 SQL 查询,找出每个部门工资最高的员工。
Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id.+----+-------+--------+--------------+ | Id ...
最新文章
- Install GIT in Ubuntu
- html模块化标签,jq load()方法实现html 模块化。
- CF986A Fair
- python王者归来 pdf_OpenStack开源云:王者归来 PDF 下载
- leetcode113. 路径总和 II(dfs)
- xmind可以画流程图吗_新娘妆可以自己画吗?临夏化妆学校告诉你答案!
- 大数据之-Hadoop3.x_MapReduce_自定义分区案例---大数据之hadoop3.x工作笔记0112
- vs code c语言json文件配置,解析VScode在Windows环境下c_cpp_properties.json文件配置问题(推荐)...
- nodejs创建http服务器
- [POJ1961 Period]
- Tutorials 使用窗口功能分析信息
- spss进行偏相关分析
- mysql数据库配置步骤,MySQL数据库安装配置步骤详解
- Vin码车架号识别技术已经很成熟了
- android的WebView加载html内容图片超出屏幕范围
- Maven的阿里云镜像配置
- 端口号是什么以及常见端口号
- GBase 8s HAC集群简介
- 浅谈企业拥有门户网站的重要性
- 个人项目:中小学数学卷子自动生成程序
热门文章
- jquery表格自动补全插件——datagrid
- 字符串 读取西门子_【必学技能】自己动手——基于C#实现手机APP远程访问西门子PLC...
- ES5(二)——替换this 之call()、apply()和bind()
- STL(二)——向量vector
- Java通过引用操作对象的“共享”特性
- java同步方法必须是静态的吗_Java基础知识之synchronized同步方法、代码块、静态方法、静态代码块的区别...
- 8.0强行转换后变成了7_如何在服务器上安装SSL证书,让你的网站变成https
- 浏览器内核之WebKit 架构与模块
- Unity GPU Instancing的使用尝试
- ecshop3.0.0注入