Sobes.tech
Back to questions
Junior — Middle
75

Можете объяснить, что такое оконные функции в SQL?

Companies where asked
СБЕР ТехСБЕР Тех

Answer from AI

sobes.tech AI

Оконные функции в 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;

Здесь для каждого отдела (partition) строки нумеруются по убыванию зарплаты, но все строки остаются в результате.