Как использовать SQL для подсчета событий за первую неделю - PullRequest
0 голосов
/ 29 января 2019

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

Предположим, для целей этого вопроса, что у меня есть таблица с хотя бы user_id и login_date.Я пытаюсь создать таблицу вывода с user_id и num_logins_first_week

1 Ответ

0 голосов
/ 29 января 2019

Используйте агрегацию, чтобы получить первую дату для каждого пользователя.Тогда join в логинах и совокупности:

select t.user_id, count(*) as num_logins_first_week
from t join
     (select user_id, min(login_date) as first_login_date
      from t
      group by user_id
     ) tt
     on tt.user_id = t.user_id and
        t.login_date >= tt.first_login_date and
        t.login_date < tt.first_login_date + interval 7 day
group by t.user_id;
...