SQL Middle SQL дата-инженера спрашивают часто обновлено
Сессионизация кликстрима
Условие
Разбейте события пользователей на сессии: новая сессия начинается, если с предыдущего события пользователя прошло больше 30 минут. Для каждой сессии выведите user_id, session_no (номер сессии пользователя с 1 по времени), started_at, ended_at, events. Сортировка по user_id, session_no. Порядок строк важен.
Как подойти
Подсказки: 1
LAG(ts)по пользователю, флаг новой сессии, нарастающая сумма флагов.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.