В events — поисковые запросы пользователей. Сессия — цепочка запросов, где пауза между соседними не больше 30 минут. Пауза больше 30 минут начинает новую сессию; ровно 30 минут — та же сессия.
Логгер иногда пишет один запрос дважды с одинаковым временем.
Для каждого пользователя верните user_id, sessions — число сессий и longest_min — длительность самой длинной сессии в минутах (от первого до последнего запроса, один знак). Сессия из одного запроса длится 0 минут. Порядок по user_id.
В работе: Метрики вовлечённости: сколько раз в день человек возвращается в поиск.
Таблицы
events — один поисковый запрос; возможны дубли
| Колонка | Тип | Что значит |
|---|---|---|
user_id | int | пользователь |
event_at | timestamp | время запроса |
query | text | текст запроса |
Пример: данные
events · 7 строк
| user_id | event_at | query |
|---|---|---|
| 1 | 2026-04-10T09:00:00 | такси до аэропорта |
| 1 | 2026-04-10T09:12:00 | толмачёво табло |
| 1 | 2026-04-10T09:20:00 | погода новосибирск |
| 1 | 2026-04-10T11:00:00 | обед рядом |
| 2 | 2026-04-10T20:00:00 | сериалы октябрь |
| 2 | 2026-04-10T21:05:00 | кинопоиск премьеры |
| 2 | 2026-04-10T21:30:00 | трейлер дюна |
Ожидаемый ответ
| user_id | sessions | longest_min |
|---|---|---|
| 1 | 2 | 20 |
| 2 | 2 | 25 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
user_id, sessions, longest_min
Источник: на данных поиска: лог запросов пользователя. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.