题解 | 最长连续登录天数

最长连续登录天数

https://www.nowcoder.com/practice/cb8bc687046e4d32ad38de62c48ad79b

with t as (select rank() over(partition by user_id order by fdate) as rk,fdate,user_id
from tb_dau
where year(fdate) = 2023 and month(fdate) = 1
),tmp as(
select date_sub(fdate,interval rk day) as flag,user_id
from t ),ttt as
(select user_id,count(*) over(partition by flag,user_id) as ee
from tmp
),a as(
select rank() over(partition by user_id order by ee desc) as rkk,ee,user_id
from ttt)
select user_id,ee as max_consec_days
from a
where rkk = 1
group by user_id

纯暴力 fdate-rank相等即为连续

全部评论

相关推荐

12-26 14:44
复旦大学 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务