SQL查询:如何获得员工获得最高薪水的部门“id”?

时间:2011-08-25 20:40:14

标签: sql sql-server-2008

如何获得员工获得最高薪水的部门id

员工表: Empl ID, FirstName, LastName, Salary, DeptId
部门表:部门ID, City

rus(Вывести“id”подразделения,вкоторомсотрудникиполучаютмаксимальнуюзаработнуюплату。)

6 个答案:

答案 0 :(得分:2)

编辑:根据对问题的评论,将SUM(Salary)更改为AVG(Salary)

SELECT TOP 1 DeptId
    FROM Employees
    GROUP BY DeptId
    ORDER BY AVG(Salary) DESC

答案 1 :(得分:1)

SELECT TOP 1 B.*
FROM (SELECT DeptId, AVG(Salary) AvgSalary
      FROM Empl
      GROUP BY DeptId) A
INNER JOIN Dept B
ON A.DeptId = B.Id
ORDER BY AvgSalary DESC

答案 2 :(得分:0)

要获得支付最高单笔薪水的单一部门ID:

SELECT TOP 1 DeptID
FROM dbo.Empl
ORDER BY Salary DESC

或者您正在寻找别的东西吗?

答案 3 :(得分:0)

SELECT  DepartmentId
FROM    Employee
WHERE   Salary = (SELECT MAX(Salary) FROM Employee)

答案 4 :(得分:0)

我认为你的意思是指一个部门的最高平均工资,而不是所有部门的单一最高工资。

但是,您似乎只需要使用以下SQL函数 MAX功能 AVG功能

按部门ID和中提琴分组。

以为我同意上面的评论,我会假设你这样做是为了研究; - )

答案 5 :(得分:0)

select id
  from dept
 where id = ( select deptid
                from ( select max(avg_salary), deptid
                         from ( select deptid, avg(salary) as avg_salary
                                  from empl
                                 group by deptid )
                        group by deptid )
                     )

: - )