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;
Здесь для каждого отдела вычисляется ранг сотрудника по зарплате.