В transactions — покупки во ВКонтакте: стикеры, подарки, голоса, подписки. Для каждого пользователя с покупками найдите first_item — название первой по времени покупки. Если две прошли в одну секунду, первая та, у которой меньше tx_id.
Посчитайте tx_72h — сколько транзакций пользователь сделал за 72 часа с момента первой, включая её саму. Транзакция ровно через 72:00:00 входит в окно, через 72:00:01 — уже нет.
Верните user_id, first_item, tx_72h, порядок — по user_id. Пользователей без покупок не выводите.
В работе: Оценка первой сессии покупок: что берут сначала и возвращаются ли за вторым платежом в первые трое суток.
Таблицы
transactions — одна строка — одна покупка
| Колонка | Тип | Что значит |
|---|---|---|
tx_id | int | ключ |
user_id | int | пользователь |
created_at | timestamp | время |
item_name | text | что купили |
Пример: данные
transactions · 6 строк
| tx_id | user_id | created_at | item_name |
|---|---|---|---|
| 1 | 1 | 2025-05-01T10:00:00 | Стикеры «Котики» |
| 2 | 1 | 2025-05-02T09:00:00 | Подарок «Торт» |
| 3 | 1 | 2025-05-04T10:00:00 | Голоса, 50 шт. |
| 4 | 1 | 2025-05-04T18:00:00 | Голоса, 100 шт. |
| 11 | 2 | 2025-05-03T20:00:00 | VK Музыка, месяц |
| 10 | 2 | 2025-05-03T20:00:00 | Стикеры «Лисы» |
Ожидаемый ответ
| user_id | first_item | tx_72h |
|---|---|---|
| 1 | Стикеры «Котики» | 3 |
| 2 | Стикеры «Лисы» | 2 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
user_id, first_item, tx_72h
Источник: тестовое продуктового аналитика (Middle) во ВКонтакте, сборник No Data No Growth. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.