15. Минимальная и максимальная зарплата по отделам без уволенных #
Условие задачи:
📊 Написать SQL-запрос, который вернет минимальную и максимальную зарплату по каждому отделу среди не уволенных сотрудников.
📌 Структура таблиц:
units (id, name)
– содержит подразделения компанииemployees (id, unit_id, salary, fired)
– содержит сотрудников и их зарплаты
🚀 Требуется вернуть:
unit_id
min_salary
(минимальная зарплата среди не уволенных)max_salary
(максимальная зарплата среди не уволенных)
Спойлеры к решению
Подсказки
💡 Фильтруем только не уволенных сотрудников (
💡 Группируем данные по
💡 Используем агрегатные функции
fired = FALSE
).💡 Группируем данные по
unit_id
.💡 Используем агрегатные функции
MIN()
и MAX()
.Решение
SELECT
unit_id,
MIN(salary) AS min_salary,
MAX(salary) AS max_salary
FROM employees
WHERE fired = FALSE
GROUP BY unit_id;
✅ Объяснение решения:
WHERE fired = FALSE
– выбираем только работающих сотрудников.GROUP BY unit_id
– группируем данные по подразделению.MIN(salary), MAX(salary)
– вычисляем минимальную и максимальную зарплату в группе.
🔥 Теперь запрос вернет минимальную и максимальную зарплату по каждому подразделению среди работающих сотрудников! 🚀