select
user_id,
max(days)
from (
select user_id,
f,
count(1) days
from (
select user_id,
login_time,
sum(if(flag > 2 , 1, 0)) over (partition by user_id order by login_time) f
from (
select user_id,
login_time,
lag(login_time, 1, '1970-01-01') over (partition by user_id order by login_time) last_login_time,
datediff(login_time,lag(login_time, 1, '1970-01-01') over (partition by user_id order by login_time)) flag
from login
) t1
group by user_id, login_time
) t2
group by user_id, f
) res
group by user_id
用户连续登陆(允许中断)查询sql
于 2022-05-05 16:32:13 首次发布
该博客内容涉及用户登录系统的数据分析,通过窗口函数计算用户连续登录间隔天数,旨在理解用户活跃度和行为模式。主要涉及SQL查询和时间序列分析。
1083

被折叠的 条评论
为什么被折叠?



