Главная → Практика → SQL Тренажёр → Последовательные дни активности пользователя
Последовательные дни активности пользователя
Сложная
windows
Условие задачи
Таблица user_activity (user_id, activity_date TEXT). Для каждого юзера найдите длину самой длинной непрерывной серии дней активности. Выведите user_id и max_streak_days (дней подряд).
Схема данных
CREATE TABLE user_activity (user_id INTEGER, activity_date TEXT);
Темы
WINDOW GAPS-AND-ISLANDS CTE ROW_NUMBER
Подсказки
Классика gaps-and-islands: разница между датой и номером строки идентифицирует «остров»
date(julianday(d) - rn) даёт одинаковую метку для последовательных дней
Группируем по (user_id, этой метке) и считаем COUNT — это длина стрика
Решить в интерактивной SQL-песочнице →
← Все SQL-задачи
Смежные разделы:
Обновлено: 2026-04-21