Back to questions
СБЕР
Junior — Middle
83
Имел ли опыт использования оконных функций при работе с SQL-запросами?
Companies where asked
Answer from AI
sobes.tech AI
Да, при работе с SQL-запросами использовал оконные функции (window functions). Они позволяют выполнять вычисления по набору строк, связанных с текущей строкой, без группировки результата, что удобно для аналитики и сложных выборок.
Основные оконные функции:
ROW_NUMBER()— нумерация строк в окнеRANK(),DENSE_RANK()— ранжирование с учётом равенствSUM(),AVG(),COUNT()— агрегатные функции по окну
Пример: получить список сотрудников с их зарплатой и порядковым номером по отделу по убыванию зарплаты:
SELECT
employee_id,
department_id,
salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Здесь PARTITION BY разбивает данные по отделам, а ORDER BY задаёт порядок внутри каждого отдела. Оконные функции позволяют делать сложные аналитические запросы без потери детализации.