Курс · 48 уроков · 145 задач
Продвинутый SQL
Следующая ступень после «SQL с нуля»: оконные функции всерьёз, даты и сессии, JSON, история изменений, качество данных, продуктовые метрики и эксперименты — на расширенной базе авиакомпании.
Окна, даты и соединения
Ранги и топ-N, доли и накопление, соседние строки, ряды дат без пропусков и местное время, соединение таблицы с собой, FULL JOIN и рекурсия.
- 1
Оконные функции: нумерация и ранги
Агрегат рядом с каждой строкой, места и ничьи, топ-N в группе и удаление дублей
- 2
Оконные функции: доли, накопление, соседи
Доля от итога, накопительный итог и скользящее среднее, сравнение с предыдущей и следующей строкой через LAG и LEAD
- 3
Даты без пропусков
Календарь без дыр через generate_series, недели и разница в днях, неполные периоды на краю данных и местное время
- 4
Сложные соединения и рекурсия
Таблица, соединённая сама с собой, сверка двух наборов через FULL JOIN и рекурсивный обход маршрутной сети
Последовательности и структура
Рамки окон и перцентили, серии и острова, сессии и пути пользователя, сложная агрегация, JSON и массивы.
- 5
Рамки окон и перцентили
ROWS, RANGE и GROUPS, первое и последнее значение окна, квантильные группы, медиана и перцентили по группам
- 6
Серии и острова
Серии дней подряд через разность даты и номера строки, паузы и возвращения через LAG, периоды сбоя по часам и склейка пересекающихся интервалов
- 7
Сессии и пути
Нарезка журнала событий на сессии, первое и последнее касание перед покупкой, соседние шаги, воронка внутри сессии и строка пути
- 8
Сложная агрегация
Подытоги в одном запросе, развороты строк в колонки и обратно, склейка значений, массивы и логические флаги
- 9
JSON и массивы
Поля из JSON-свойств событий, числа и даты из текста, массивы в строки и соединение событий приложения с бронями и билетами
Данные в работе
История изменений, качество данных, продуктовые метрики и эксперименты — так, как их считают в продакшене.
- 10
История изменений
Интервалы действия записи и значение на момент, соединение фактов с историей на дату события, сборка истории из дат изменений и проверка стыков
- 11
Качество данных
Дубли доставки и первая доставка, поздние события и окно дозревания, проверки-инварианты и сверка двух источников через FULL JOIN
- 12
Продуктовые метрики как в работе
DAU, WAU и MAU на каждый день и stickiness, retention когорт — классический, rolling и с поправкой на зрелость, LTV на одинаковом горизонте и движение выручки по клиентам
- 13
Эксперименты в SQL
Проверка сплита до результата, эффект с доверительным интервалом и сегменты без подгонки — на двух A/B-тестах приложения
Задачи с собеседований
Классические задачи уровня middle с разбором.
- 14
Задачи с собеседований
N-я величина и медиана вручную, последовательности и повторы, разбор падения метрики — как их дают на интервью аналитика
Итоговые кейсы
Два кейса: продажи и посадка на базовых таблицах — и запуск одностраничного оформления на событиях приложения, эксперименте и программе лояльности, где проверка данных дважды меняет вывод.
- 15
Итоговый кейс: продажи и посадка
Воронка от продажи до вылета, когорты броней с флагом и поправкой на зрелость, продажи на одинаковом горизонте и записка руководителю с проверкой данных
- 16
Итоговый кейс: одностраничное оформление
Воронка оформления по сессиям, сбой оплаты в период теста, сплит и выручка через сверку с бронями, интервал для разницы средних и покупки в других каналах — записка о запуске с проверкой данных