Лучший в каждом отделе
Контекст
Раз в квартал «Пульс» готовит срез для совета директоров: кто в каждом отделе получает больше всех. В отчёте на отдел отводится ровно одна строка — даже если верхний оклад в отделе получают двое.
Задача
Верните по одному сотруднику на отдел — того, у кого самый высокий оклад.
Данные
Таблица departments — отделы:
| колонка | тип | что хранит |
|---|---|---|
id | int | номер отдела |
title | text | название |
city | text | город |
Таблица employees — сотрудники:
| колонка | тип | что хранит |
|---|---|---|
id | int | номер сотрудника |
name | text | имя |
department_id | int | номер отдела |
manager_id | int | номер руководителя, NULL у директора |
job_title | text | должность |
salary | int | оклад в рублях, NULL если ещё не назначен |
hired_at | date | дата найма |
left_at | date | дата ухода, NULL у действующих |
Примерные строки employees:
| id | name | department_id | salary | hired_at | left_at |
|---|---|---|---|---|---|
| 8 | Дмитрий Лапин | 3 | 190000 | 2023-07-04 | NULL |
| 16 | Егор Тарасов | 3 | 190000 | 2025-06-01 | NULL |
| 22 | Слава Дёмин | 1 | NULL | 2026-06-15 | NULL |
| 23 | Кирилл Ким | 1 | 490000 | 2023-06-01 | 2026-05-31 |
Правила
- Колонки:
department(название отдела),employee(имя сотрудника),salary. - Участвуют только действующие сотрудники (
left_at IS NULL) с назначенным окладом. - Ровно одна строка на отдел. При равных окладах побеждает нанятый раньше; если равны и даты — тот, у кого меньше
id. - Отдел, в котором не осталось подходящих сотрудников, в выдачу не попадает.
- Сортировка: оклад по убыванию, при равенстве — название отдела по алфавиту.
Примеры
-- Выдача на данных «Пульса»:
-- department | employee | salary
-- Разработка | Марина Лебедева | 480000
-- Руководство | Артём Кузнецов | 480000
-- Продажи | Вика Носова | 320000
-- Аналитика | Данил Крылов | 290000
-- Дизайн | Нина Кравец | 280000
-- Поддержка | Дмитрий Лапин | 190000
-- В Поддержке 190000 получают двое; в отчёт идёт Дмитрий Лапин — он нанят раньше.
Где это пригодится
«Первый в каждой группе» — самый ходовой шаблон отчётности: топовый товар в категории, последний заказ клиента, свежая запись лога по каждому устройству. Меняются таблицы, приём остаётся тем же.