如何使用SQL统计第一周的事件

How to use SQL to count events in the first week

我正在尝试编写一个 SQL 查询,它说明每个用户在第一周内登录了多少次。

为了这个问题的目的,假设我有一个 table,至少有 user_idlogin_date。我正在尝试使用 user_idnum_logins_first_week

生成输出 table

使用聚合获取每个用户的第一个日期。然后 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;