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

查询连续登陆的用户

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

with t1 as (
    select user_id,date(log_time) log_time,row_number()over(partition by user_id order by date(log_time)) as rk
    from login_tb
    group by 
    user_id,date(log_time)
)
,t2 as (
    select *,date_sub(log_time,interval rk day) as t2
    from t1
)
,t3 as (
    select user_id,t2,count(distinct log_time) as nd
    from t2
    group by user_id,t2
    having count(distinct log_time) >=3
    )
select b.user_id
from t3 a
inner join 
(select user_id,date(reg_time) reg_time from register_tb) b  
on a.user_id = b.user_id

全部评论

相关推荐

05-09 14:45
门头沟学院 Java
点赞 评论 收藏
分享
06-12 16:23
已编辑
小米_软件开发(准入职员工)
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

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