## Контекст (таблицы и пример данных) ### Таблицы - `user_active_days(user_id, day)` ### Пример да

SQL Developer Senior
## Контекст (таблицы и пример данных) ### Таблицы - `user_active_days(user_id, day)` ### Пример данных **user_active_days** | user_id | day | |-------:|------------| | 1 | 2025-01-01 | | 1 | 2025-01-02 | | 1 | 2025-01-04 | --- ## Задача Собрать непрерывные интервалы активности по дням. Вернуть: `user_id`, `start_day`, `end_day`, `days_cnt`.
Ответы
```sql WITH g AS ( SELECT user_id, day, (day - (ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY day))::int) AS grp FROM user_active_days ) SELECT user_id, MIN(day) AS start_day, MAX(day) AS end_day, COUNT(*) AS days_cnt FROM g GROUP BY user_id, grp ORDER BY user_id, start_day; ```