Что делает PARTITION BY в этом запросе?
```sql
SELECT
department,
employee_name,
salary,
AVG(salary) OVER (PARTITION BY department) AS dept_avg,
salary - AVG(salary) OVER (PARTITION BY department) AS diff_from_avg
FROM employees;
```
SQLhardsenior
Варианты ответа
Делит строки на группы по department и считает AVG(salary) ОТДЕЛЬНО внутри каждой группы, при этом НЕ схлопывая строки (в отличие от GROUP BY)
Работает как GROUP BY department — возвращает одну строку на department
Сортирует строки по department перед расчётом AVG
Фильтрует строки, оставляя только те department, где AVG > 0
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
2475 вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.