Занятие 34. Агрегирующие оконные функции
⚡ Кратко: суть темы
Агрегирующие оконные функции — SUM, AVG, MIN, MAX, COUNT — считают итоги по набору строк окна, но не сворачивают исходные строки, в отличие от GROUP BY.
OVER ()— окно из всех строк;OVER (PARTITION BY ...)— окно внутри группы.ORDER BYвнутриOVERпревращает агрегат в кумулятивный или скользящий итог.- Чаще всего используют для подсчёта долей, накопительных сумм и сравнения строки со средним/максимумом группы.
Что запомнить: без ORDER BY в окне результат одинаковый для всех строк окна; с ORDER BY — он накапливается по мере прохода строк.
Топ-3 ошибки: 1) пытаться фильтровать по псевдониму оконной функции в WHERE; 2) добавлять GROUP BY рядом с оконной функцией без необходимости; 3) забывать ORDER BY, когда нужна кумулятивная сумма.
📖 О чём это занятие
Занятие посвящено агрегирующим оконным функциям: SUM, AVG, MIN, MAX, COUNT. Мы научимся считать общие суммы и количества по клиентам, доли от максимальной цены, кумулятивные продажи по датам и скользящее среднее — при этом сохраняя каждую исходную строку результата.
Что изучим
📚 Что повторить перед изучением
- ← Занятие 33: Оконные функции. Общие концепции — синтаксис
OVER,PARTITION BY,ORDER BY. - Занятие 17: Агрегирующие функции. GROUP BY — классическая агрегация.
🎯 Что изучать дальше
Следующее занятие — Занятие 35: Практикум 9.