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

查询连续登陆的用户

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

SELECT l1.user_id
FROM register_tb AS r
INNER JOIN (SELECT l.user_id, date(l.log_time) AS log_time, 
                   row_number() over (partition by l.user_id 
                               order by date(l.log_time)) AS ranking
            FROM login_tb AS l) AS l1
ON r.user_id = l1.user_id AND date(r.reg_time) < date(l1.log_time) 
GROUP BY l1.user_id, date_sub(l1.log_time, interval l1.ranking day)
HAVING count(l1.user_id) >= 3
ORDER BY l1.user_id;

全部评论

相关推荐

10-29 18:20
济南大学 Java
用微笑面对困难:他不是人事吗,怎么净特么不干人事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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