Вычисление продаж по разным категориям из данных пользовательских транзакций - для пользователей, которые выполнили более 1 транзакции - PullRequest
0 голосов
/ 09 апреля 2019

enter image description here Привет,

Входные данные

У меня дневной пользовательский уровень транзакции_данных, и я хочу рассчитать ежемесячные продажи по разным категориям - агрегация для пользователей, совершивших покупки только из более чем одной категории.

Выход - Output

Может кто-нибудь подсказать, пожалуйста, как это сделать в SQL?

1 Ответ

1 голос
/ 09 апреля 2019

Хммм.,,это похоже на то, что вы описываете:

select date_trunc('month', day), category,
       sum(transaction_amount), count(distinct user_id)
from (select d.*,
             min(category) over (partition by userid, date_trunc('month', day)) as min_category,
             max(category) over (partition by userid, date_trunc('month', day)) as max_category
      from daily d
     ) d
where min_category <> max_category -- at least two categories
group by date_trunc('month', day), category;
...