Разница во времени в SQL с Join - PullRequest
2 голосов
/ 31 января 2012

Я хочу понять взаимосвязь между записью, создаваемой в таблице users, и первой покупкой пользователя в таблице subscriptions. Обе таблицы имеют created_at в качестве поля и users.id=subscriptions.user_id.

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

days, users
0, 45
1, 63
2, 14
3, 7

1 Ответ

3 голосов
/ 31 января 2012
SELECT 
      days
    , COUNT(*) AS users
FROM
      ( SELECT
              DATEDIFF(MIN(s.created_at), u.created_at) AS days
        FROM 
              users AS u
          JOIN
              subscriptions  AS s
            ON
              s.user_id = u.id
        GROUP BY 
              u.id
      ) AS grp
GROUP BY 
      days
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...