Как пронумеровать сотрудников мужского и женского пола отдельно?

Используйте ROW_NUMBER с PARTITION BY пол и детерминированным ORDER BY внутри каждой группы. Нумерация начнётся с единицы отдельно для каждой категории.

Короткий ответ

Что ответить на собеседовании

Используйте ROW_NUMBER с PARTITION BY пол и детерминированным ORDER BY внутри каждой группы. Нумерация начнётся с единицы отдельно для каждой категории.

Подробный разбор

Ответ с пояснениями

Используйте ROW_NUMBER с PARTITION BY пол и детерминированным ORDER BY внутри каждой группы. Нумерация начнётся с единицы отдельно для каждой категории.

Для примерной таблицы employees(id, name, gender):

SELECT id, name, gender,
       ROW_NUMBER() OVER (
           PARTITION BY gender ORDER BY id
       ) AS number_in_group
FROM employees
ORDER BY gender, id;

Уникальный id делает порядок устойчивым. Если нужны только две конкретные категории, добавьте фильтр по фактическим значениям схемы. Остальные значения и NULL иначе образуют собственные группы. ROW_NUMBER не объединяет строки, в отличие от GROUP BY.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее