如何使用SQL统计第一周的事件
How to use SQL to count events in the first week
我正在尝试编写一个 SQL 查询,它说明每个用户在第一周内登录了多少次。
为了这个问题的目的,假设我有一个 table,至少有 user_id
和 login_date
。我正在尝试使用 user_id
和 num_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;
我正在尝试编写一个 SQL 查询,它说明每个用户在第一周内登录了多少次。
为了这个问题的目的,假设我有一个 table,至少有 user_id
和 login_date
。我正在尝试使用 user_id
和 num_logins_first_week
使用聚合获取每个用户的第一个日期。然后 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;