题解 | #最长连续登录天数#

最长连续登录天数

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

select c.user_id,max(c.cnt) as max_consec_days   
from
    (select b.user_id,count(*) as cnt
    from
        (select a.user_id,a.fdate,day(a.fdate)-ranking as cha
        from 
            (select user_id,fdate,
            row_number() over(partition by user_id order by fdate) as ranking 
            from tb_dau where year(fdate)=2023 and month(fdate) = 1) 
            as a )as b
    group by b.user_id,b.cha) as c
group by c.user_id

子表a:对每一个user_id的fdate进行排序标号

子表b:用日期中的日减去标号,如果是连续的日期,标号是一样的

子表c:用row_number对一样标号的序列进行重新标号,最大的值就是最大连续的天数

全部评论

相关推荐

大疆在线测评都考什么呀,会考企业概况啥的吗
又被画饼了的做题家很...:不会。刚做完,就是材料分析、态度题、算术题、逻辑题。总共60道。
投递大疆等公司7个岗位
点赞 评论 收藏
分享
06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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