Анализ удержания в SQL - PullRequest
       5

Анализ удержания в SQL

0 голосов
/ 18 апреля 2019

Я пытаюсь проанализировать пользователей, которые приобрели в течение 30 дней с момента первой покупки. Я продолжаю получать

Код ошибки: 1064. У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с ':: date) - целое число' 30 'И группа i.customer_id = o.customer_id по o.custome' в строке 7

Это код, который я запустил.

select 
o.customer_id, 
o.purchase_time
from orders as o
join orders as i on 
i.purchase_time <= o.purchase_time AND
i.purchase_time >= (o.purchase_time :: date) - integer '30' AND
i.customer_id = o.customer_id
group by o.customer_id, o.purchase_time;

1 Ответ

0 голосов
/ 18 апреля 2019

Я подозреваю, что это то, что вы хотите, в синтаксисе MySQL:

select o.*
from orders o
where exists (select 1
              from orders o2
              where o2.customer_id = o.customer_id and
                    o2.purchase_time > o.purchase_time and
                    o2.purchase_time <= purchase_time + interval 30 day
            );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...