У меня есть таблица paid_users, что выглядит следующим образом:Запрос, чтобы найти количество платящих клиентов и сбитых клиентов?
http://sqlfiddle.com/#!15/d25ba
Я пытаюсь определить платежеспособных клиентов, сгруппированных Месяц-Год и месили клиентов, сгруппированных Месяц-Год. По сути, есть плательщики и пользователи. Плательщик - это тот, кто платит за этого конкретного пользователя. Если нет payment_stop_date, это означает, что плательщик все еще платит за пользователя. Payment_stop_date указывает, если/когда плательщик прекратил платить за пользователя.
Я хочу, чтобы найти число платежеспособных клиентов, в которых результат запроса должен быть:
Month-Year | New Paying Customers | Churned Paying Customers
------------------------------------------------------------
11-2014 | 1 |
12-2014 | | 1
01-2015 | 1 |
04-2015 | |
06-2015 | 2 |
07-2015 | 1 |
10-2015 | | 1
Глядя на payor_id 3453, она начала платить за user_id 3182 в 11-2014, так что она будет включена в группе 11-2014. Тем не менее, она перестала платить за двух пользователей в 12-2014 году, поэтому включена в эту группу с отбитыми 12-2014 годами. Плательщик считается взломанным платежным клиентом, если они полностью перестали платить нам (т. Е. Они могли платить за одного человека, а затем отменили его. Или в этом случае плательщик 3453 платил за 2 пользователей, а затем отменил их). Затем Payor_3453 начал платить за user_id 4716 в 01-2015, поэтому она включена в группу 01-2015.
Я с трудом пишу запрос для этого, поскольку это не обязательно различны payor_id поскольку payor_id 3453 считается новым платящий клиент дважды
Это кажется очень разумным, и вы определенно объяснили идею вопроса лучше меня - большое вам спасибо за помощь! Числа выглядят правильно, и логика имеет большой смысл :) –