У меня есть таблица с именем SalaryTable
, содержащая зарплату сотрудника в различных отделах:
dept_id name salary
12 a 100
13 b 200
12 c 300
14 d 400
12 e 500
13 f 600
Мне нужно найти максимальную зарплату каждого отдела с указанным идентификатором отдела И имя этого человека вместе смаксимальная зарплата.
Я использую следующий SQL-запрос для этого
select dept_id, name, max(salary)
from SalaryTable
group by salary
Но приведенный выше код дает мне ошибку: dept_id must be an aggregate expression or appear in GROUP BY clause
Я могу получить следующую таблицулегко с этим запросом ниже:
select dept_id, max(salary) as max_salary
from SalaryTable
group by salary
dept_id max_salary
12 500
13 600
14 400
но мне также нужно имя этого человека как:
ТРЕБУЕМЫЙ ВЫХОД
dept_id name max_salary
12 e 500
13 f 600
14 d 400