Sessionization — сшивка событий в сессии

Сложная time_series Mixpanel-style

Условие задачи

Таблица events содержит id, user_id, event_at (TEXT timestamp). Сессией считаем последовательность событий одного юзера, между которыми перерыв ≤ 30 минут (1800 секунд). Посчитайте число сессий для каждого юзера. Выведите user_id, sessions_count. Отсортируйте по user_id.

Схема данных

CREATE TABLE events (id INTEGER PRIMARY KEY, user_id INTEGER, event_at TEXT);

Темы

LAG OVER julianday CASE SUM

Подсказки

Решить в интерактивной SQL-песочнице → ← Все SQL-задачи