Собесов

WoWS Data Engineer — паттерны покупок: схлопывание подряд идущих common_pack

SQLОкна и сессионизацияСложнаяMiddle

Условие

Дана таблица purchases:

  • purchaser_id — id пользователя;
  • purchase — тип покупки: 'common_pack' или 'exclusive_pack';
  • purchase_dt — дата покупки.

Посчитайте число пользователей для каждого уникального паттерна покупок. Правила:

  1. Каждый пользователь имеет один паттерн (sub-series не считаются).
  2. Покупки в паттерне упорядочены по дате.
  3. Каждая покупка exclusive_pack должна присутствовать в паттерне.
  4. Серии подряд идущих common_pack схлопываются в один common_pack.

Пример для одного пользователя:

purchaser_id purchase purchase_dt
1 common_pack 1
1 exclusive_pack 2
1 exclusive_pack 3
1 common_pack 4
1 common_pack 5
1 exclusive_pack 6

Паттерн: C–E–E–C–E (подряд два common_pack 4–5 схлопнулись в один).

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти