Перейти к содержимому

Курс · 48 уроков · 145 задач

Продвинутый SQL

Следующая ступень после «SQL с нуля»: оконные функции всерьёз, даты и сессии, JSON, история изменений, качество данных, продуктовые метрики и эксперименты — на расширенной базе авиакомпании.

0 из 145
Начать с первого урока

Окна, даты и соединения

Ранги и топ-N, доли и накопление, соседние строки, ряды дат без пропусков и местное время, соединение таблицы с собой, FULL JOIN и рекурсия.

  1. 1

    Оконные функции: нумерация и ранги

    Агрегат рядом с каждой строкой, места и ничьи, топ-N в группе и удаление дублей

  2. 2

    Оконные функции: доли, накопление, соседи

    Доля от итога, накопительный итог и скользящее среднее, сравнение с предыдущей и следующей строкой через LAG и LEAD

  3. 3

    Даты без пропусков

    Календарь без дыр через generate_series, недели и разница в днях, неполные периоды на краю данных и местное время

  4. 4

    Сложные соединения и рекурсия

    Таблица, соединённая сама с собой, сверка двух наборов через FULL JOIN и рекурсивный обход маршрутной сети

Последовательности и структура

Рамки окон и перцентили, серии и острова, сессии и пути пользователя, сложная агрегация, JSON и массивы.

  1. 5

    Рамки окон и перцентили

    ROWS, RANGE и GROUPS, первое и последнее значение окна, квантильные группы, медиана и перцентили по группам

  2. 6

    Серии и острова

    Серии дней подряд через разность даты и номера строки, паузы и возвращения через LAG, периоды сбоя по часам и склейка пересекающихся интервалов

  3. 7

    Сессии и пути

    Нарезка журнала событий на сессии, первое и последнее касание перед покупкой, соседние шаги, воронка внутри сессии и строка пути

  4. 8

    Сложная агрегация

    Подытоги в одном запросе, развороты строк в колонки и обратно, склейка значений, массивы и логические флаги

  5. 9

    JSON и массивы

    Поля из JSON-свойств событий, числа и даты из текста, массивы в строки и соединение событий приложения с бронями и билетами

Данные в работе

История изменений, качество данных, продуктовые метрики и эксперименты — так, как их считают в продакшене.

  1. 10

    История изменений

    Интервалы действия записи и значение на момент, соединение фактов с историей на дату события, сборка истории из дат изменений и проверка стыков

  2. 11

    Качество данных

    Дубли доставки и первая доставка, поздние события и окно дозревания, проверки-инварианты и сверка двух источников через FULL JOIN

  3. 12

    Продуктовые метрики как в работе

    DAU, WAU и MAU на каждый день и stickiness, retention когорт — классический, rolling и с поправкой на зрелость, LTV на одинаковом горизонте и движение выручки по клиентам

  4. 13

    Эксперименты в SQL

    Проверка сплита до результата, эффект с доверительным интервалом и сегменты без подгонки — на двух A/B-тестах приложения

Задачи с собеседований

Классические задачи уровня middle с разбором.

  1. 14

    Задачи с собеседований

    N-я величина и медиана вручную, последовательности и повторы, разбор падения метрики — как их дают на интервью аналитика

Итоговые кейсы

Два кейса: продажи и посадка на базовых таблицах — и запуск одностраничного оформления на событиях приложения, эксперименте и программе лояльности, где проверка данных дважды меняет вывод.

  1. 15

    Итоговый кейс: продажи и посадка

    Воронка от продажи до вылета, когорты броней с флагом и поправкой на зрелость, продажи на одинаковом горизонте и записка руководителю с проверкой данных

  2. 16

    Итоговый кейс: одностраничное оформление

    Воронка оформления по сессиям, сбой оплаты в период теста, сплит и выручка через сверку с бронями, интервал для разницы средних и покупки в других каналах — записка о запуске с проверкой данных