leetcode 184.部门最高工资


184.部门最高工资

在这里插入图片描述

题解:

SELECT T1.name department, T.name employee, T.salary
  FROM employee T, department T1
 WHERE T.departmentid = T1.id
   AND (salary, departmentId) IN
       (SELECT MAX(salary), departmentId FROM employee GROUP BY departmentId)


分析:

GROUP BY 字段名 # 根据字段进行分组
先对 DepartmentId 字段分组查询最大值,得到不同 DepartmentId 下的最大值

SELECT DepartmentId, max( Salary ) 
	FROM Employee 
GROUP BY DepartmentId 

再根据 DepartmentId 字段连接 Department 表,根据 Salary 和 DepartmentId 查找 Department.Name 字段

SELECT T1.name department, T.name employee, T.salary
  FROM employee T, department T1
 WHERE T.departmentid = T1.id
   AND (salary, departmentId) IN
       (SELECT MAX(salary), departmentId FROM employee GROUP BY departmentId)

猜你喜欢

转载自blog.csdn.net/zhang33565417/article/details/117755535