SQL-запрос: как получить «идентификатор» отдела, в котором сотрудники получают максимальную зарплату? - PullRequest
1 голос
/ 26 августа 2011

Как мне получить id отдела, в котором сотрудники получают максимальную зарплату:

Таблица сотрудников: Empl (ID, FirstName, LastName, Salary, DeptId)
Таблица отделов: Отдел (ID, City)

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

Ответы [ 6 ]

2 голосов
/ 26 августа 2011

РЕДАКТИРОВАТЬ : изменено SUM(Salary) на AVG(Salary) на основе комментариев к вопросу.

SELECT TOP 1 DeptId
    FROM Employees
    GROUP BY DeptId
    ORDER BY AVG(Salary) DESC
1 голос
/ 26 августа 2011
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
0 голосов
/ 26 августа 2011
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 )
                     )

: -)

0 голосов
/ 26 августа 2011

Я предполагаю, что вы имеете в виду максимальную среднюю зарплату департамента, а не единую самую высокую зарплату во всех департаментах.

Однако, похоже, все, что вам нужно сделать, это использовать следующие функции SQL MAX-функция AVG-функция

группировать по ID отдела и альту.

Думаю, я согласен с комментариямивыше, я предполагаю, что вы делаете это для исследования; -)

0 голосов
/ 26 августа 2011
SELECT  DepartmentId
FROM    Employee
WHERE   Salary = (SELECT MAX(Salary) FROM Employee)
0 голосов
/ 26 августа 2011

Чтобы получить единый идентификатор Департамента, в котором выплачивается самая высокая зарплата:

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

Или вы ищете что-то еще?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...