Senior
53
SELECT fio, position, salary FROM users WHERE salary = (SELECT MAX(salary) FROM users WHERE position = users.position);
Εταιρείες όπου ρωτήθηκαν
RT Labs
Απάντηση από AI
sobes.tech AI
Для получения сотрудников с максимальной зарплатой в каждой должности можно использовать оконную функцию RANK() или подзапрос с группировкой. Вот пример запроса с использованием подзапроса:
SELECT u.fio, u.position, u.salary
FROM users u
JOIN (
SELECT position, MAX(salary) AS max_salary
FROM users
GROUP BY position
) max_salaries ON u.position = max_salaries.position AND u.salary = max_salaries.max_salary;
Этот запрос сначала находит максимальную зарплату по каждой должности, а затем выбирает всех сотрудников, у которых зарплата равна максимальной для их должности.
Результат будет:
Михайлов Тестировщик 150000
Антонов Разработчик 200000
Капустин Директор 300000
Астахов ИБ 200000