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

查询连续登陆的用户

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

全部评论

相关推荐

3 收藏 评论
分享
牛客网
牛客企业服务