题解 | 最长连续登录天数

最长连续登录天数

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

select user_id,max(cnt) as max_consec_days
from (
select user_id,dategroup,count(1) as cnt
from (
select fdate,user_id,date_sub(fdate,interval rn day) as dategroup
from(
select fdate
,user_id
,row_number() over(partition by user_id order by fdate) as rn
from tb_dau
where fdate between '2023-01-01' and '2023-01-31'
) t
) tt
group by user_id,dategroup
) ttt
group by user_id

连续天数已经有肌肉记忆了,先排序,然后算出一个等差的日期组,再聚合就完了

全部评论

相关推荐

02-25 19:38
门头沟学院 Java
点赞 评论 收藏
分享
03-06 18:20
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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