题解 | #最长连续登录天数#
最长连续登录天数
https://www.nowcoder.com/practice/cb8bc687046e4d32ad38de62c48ad79b
select user_id,max(seq) as max_consec_days#--计算最大值
from
(
select user_id,gap,count(*) as seq#--分别计算连续登陆天数,groupby user_id,头天#日期了
from
(
select user_id,SUBDATE(fdate,INTERVAL num day) as gap#--计算连续登录的头#天日期
from
(
select user_id,fdate,
row_number() over (partition by user_id order by fdate) as num#--计算登录次序
from tb_dau
where year (fdate) = 2023
) t0
) t1
group by user_id,gap
)t2
group by user_id
