我的案例研究与此处讨论的类似: Count active users using login timestamp in MySQL
但是我想用SQL Server语言(而不是mySQL)解决它,我有2个略有不同的请求: 给定包含User_id和login_timestamp的表计算:
1)上周每天登记的人数比率 2)根据他们的最新登录信息(例如,假设他们最后一次登录是昨天,从昨天开始的每月频率,看起来是1个月后的每月频率?)
对于第一个问题,我有答案,但我想问一下有人可以为我验证吗?
select sum(A.access)/count(A.access) as ratio_weekly_access
from
(select user_id,
case when
count(distinct format(timestamp_login,'YYYY-MM-DD')) =7 then 1
else 0 end as access
from xxx
where FORMAT(timestamp_login,'YYYY-MM-DD') between dateadd(day,-7, cast(getdate() as date)) and cast(getdate() as date)
group by user_id
) A
提前感谢您的帮助!