给每个部门赚钱最多的员工(fname和lname)

时间:2014-04-23 23:36:47

标签: each currency

SELECT max(salary), dept
FROM Employees
GROUP BY dept;

如何在没有错误的情况下添加fname和lname?如果我将它们分组添加,我就不再获得最高工资。

1 个答案:

答案 0 :(得分:0)

这就是我在SQL Server中的做法...你需要一个子查询,它返回每个部门的最高工资,然后将其加入到员工表中,以确定哪个员工有该部门的工资: / p>

SELECT D.Dept, D.MaxSalary, Employees.FName, Employees.LName
FROM (
    SELECT MAX(Salary) AS MaxSalary, Dept
    FROM Employees
    GROUP BY dept
) D
INNER JOIN Employees
ON Employees.Dept = D.Dept
AND Employees.Salary = D.MaxSalary