Последовательные дни активности
Сложная
CTE (Common Table Expressions)
Условие задачи
Таблица user_activity (id, user_id, activity_date TEXT). Найдите пользователей с серией активности 3+ дней подряд. Выведите user_id, streak_start, streak_end, streak_length. Отсортируйте по streak_length DESC.
Схема данных
CREATE TABLE user_activity (id INTEGER PRIMARY KEY, user_id INTEGER, activity_date TEXT);
Темы
WITH CTE ROW_NUMBER PARTITION BY DATE
Подсказки
- Классический приём: вычти номер строки из даты — последовательные даты дадут одинаковую группу
- Группируй по user_id и вычисленной группе, считай длину серии
Решить в интерактивной SQL-песочнице →
← Все SQL-задачи