题解 | 最长连续登录天数

最长连续登录天数

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

SELECT
    user_id,
    MAX(datee) AS max_consec_days
FROM (
    SELECT 
        user_id,
        MAX(d_rank) - MIN(d_rank)+1 AS datee
    FROM (
            SELECT 
                user_id,
                fdate,
                ROW_NUMBER() OVER(partition by user_id order by fdate) AS d_rank,
                DATE_SUb(fdate,
                interval ROW_NUMBER() OVER(partition by user_id order by fdate) 
                day) AS start_day
            FROM tb_dau
            WHERE fdate BETWEEN '2023-1-1' AND '2023-1-31'
        ) AS t1
    GROUP BY user_id,start_day  
) AS t2
GROUP BY user_id

全部评论

相关推荐

02-04 12:01
九江学院 C++
点赞 评论 收藏
分享
02-16 01:39
南昌大学 Java
重剑Ds:感觉不太可能 后端都减飞了 根本不缺人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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