题解 | 最长连续登录天数

select 
    t2.user_id,
    max(consec_days) as max_consec_days
from
    (select
        user_id,
        count(*) as consec_days
    from (select 
            user_id,
            fdate,
            row_number()over(partition by user_id order by fdate) as "序号",
            date_sub(fdate,interval row_number()over(partition by user_id order by fdate) day) as "分组日期"
        from tb_dau
        where fdate between "2023-01-01" and "2023-01-31"
        group by user_id,fdate) as t 
    group by user_id,分组日期) as t2
group by t2.user_id

全部评论

相关推荐

07-02 13:52
门头沟学院 Java
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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