Используйте 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.