题目链接:
184. Department Highest Salary
解析:
这道题相对比较复杂,但是很典型,首先我们确定的是需要联结两个表,而且还需要使用GROUP BY
语句确定每个部门中的MAX(Salary)。见题解。
题解:
# Write your MySQL query statement below
SELECT D.Name AS Department, E.Name AS Employee, Salary
FROM Department D INNER JOIN Employee E ON D.Id = E.DepartmentId
WHERE (E.DepartmentId, Salary) IN
(SELECT DepartmentId, Max(Salary) FROM Employee GROUP BY DepartmentId);