题解 | 查询连续登陆的用户

查询连续登陆的用户

https://www.nowcoder.com/practice/9944210610ec417e94140ac09512a3f5

SELECT
    user_id
FROM
    (
        SELECT
            *,
            date_sub(DATE(log_time), INTERVAL rn DAY) as dt
        FROM
            (
                SELECT
                    *,
                    ROW_NUMBER() OVER (
                        partition by
                            user_id
                        order by
                            log_time
                    ) AS rn
                FROM
                    login_tb
                    JOIN register_tb USING (user_id)
            ) AS t1
    ) AS t2
GROUP BY
    user_id
HAVING
    COUNT(log_time) >= 3
ORDER BY
    user_id

全部评论

相关推荐

King987:待优化的地方还是挺多的,可以参考一下我的作品优化一下,优化不好的话也可以找我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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