Sobes.tech
Middle
13

Назови оконные функции в SQL, какие существуют.

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

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

  • Агрегатные оконные функции: SUM(), AVG(), COUNT(), MIN(), MAX() — вычисляют агрегаты по окну.
  • Функции ранжирования: ROW_NUMBER() — нумерация строк, RANK() — ранжирование с пропусками, DENSE_RANK() — ранжирование без пропусков, NTILE(n) — делит строки на n групп.
  • Функции смещения: LAG(), LEAD() — доступ к предыдущей или следующей строке в окне.
  • Функции накопления: FIRST_VALUE(), LAST_VALUE(), NTH_VALUE() — возвращают значения из окна.

Пример использования:

SELECT employee_id, department_id, salary,
       RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;

Здесь для каждого отдела вычисляется ранг сотрудника по зарплате.