Занятие 40. Summary session 10
⚡ Кратко: суть занятия
Summary session 10 повторяет два блока оконных функций: ранжирование и смещение/выбор.
Для ранжирования используем ROW_NUMBER, RANK, DENSE_RANK, NTILE.
Для сравнения соседних строк используем LAG и LEAD; для крайних значений — FIRST_VALUE и LAST_VALUE.
Минимальный пример: DENSE_RANK() OVER (ORDER BY quantity DESC) строит рейтинг по количеству, а LAG(date_received) OVER (ORDER BY date_received) находит предыдущую дату.
Топ-3 ошибки: путать RANK и DENSE_RANK, забывать ORDER BY в окне, фильтровать результат окна до внешнего SELECT.
📖 О чём это занятие
- Повторим функции ранжирования:
ROW_NUMBER,RANK,DENSE_RANK,NTILE. - Повторим функции смещения и выбора:
LEAD,LAG,FIRST_VALUE,LAST_VALUE,NTH_VALUE. - Разберём задания практикума 10 и домашнее задание 10 из предыдущего урока.
- Соберём общий алгоритм выбора оконной функции под задачу.
📚 Что повторить перед изучением
🎯 Что изучать дальше
Следующее занятие — Занятие 41: Оптимизация запросов. Индексация.