Senior
44
SELECT fio, position, salary FROM users WHERE salary = (SELECT MAX(salary) FROM users WHERE position = users.position);
Sorulan şirketler
RT Labs
AI'dan gelen yanıt
sobes.tech yapay zeka
Для получения сотрудников с максимальной зарплатой в каждой должности можно использовать оконную функцию 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