Middle
19
Что такое оконные функции в SQL и для чего они используются?
Компании, где спрашивали
нетология
Ответ от нейросети
sobes.tech AI
Оконные функции (window functions) в SQL — это функции, которые выполняют вычисления по набору строк, связанных с текущей строкой, без группировки результатов в одну строку, как это происходит с агрегатными функциями.
Они позволяют, например, вычислять скользящие суммы, ранжировать строки, вычислять кумулятивные итоги, средние значения и т.п., при этом сохраняя исходное количество строк в результате.
Пример использования оконной функции ROW_NUMBER():
SELECT
employee_id,
department_id,
salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank_in_dept
FROM employees;
Здесь для каждого сотрудника вычисляется его ранг по зарплате внутри отдела, при этом все строки сохраняются.
Оконные функции полезны для аналитики, отчетности и сложных вычислений, где нужно видеть контекст каждой строки относительно других.