Встречается на собеседованиях • сегодня

Что такое оконные функции в БД

Оконные функции (window functions) в SQL позволяют выполнять вычисления над набором строк, связанных с текущей строкой, без группировки результатов. Они работают с "окном" данных, определяемым через OVER().

Ключевые особенности:

  • Сохраняют исходное количество строк (в отличие от GROUP BY)
  • Позволяют получить агрегированные данные вместе с детализированными
  • Используют секции (PARTITION BY) и сортировку (ORDER BY) внутри окна

Примеры распространенных оконных функций:

sql
-- Ранжирование
SELECT name, salary, 
       RANK() OVER(ORDER BY salary DESC) as rank
FROM employees;

-- Агрегация
SELECT department, employee, salary,
       AVG(salary) OVER(PARTITION BY department) as avg_dept_salary
FROM employees;

-- Скользящие вычисления
SELECT date, revenue,
       SUM(revenue) OVER(ORDER BY date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) as rolling_sum
FROM sales;

Оконные функции особенно полезны для аналитических запросов, расчета скользящих средних, ранжирования данных и сравнения строк с агрегированными значениями.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы