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

查询连续登陆的用户

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

with t1 as(
select 
    t1.user_id,
    date(log_time) as log_time
from register_tb t1
left join login_tb t2 on t1.user_id=t2.user_id 
where log_time is not null
),
t2 as(
select 
    user_id,
    date_sub(log_time,interval row_number() over(partition by user_id order by log_time) day) as flag 
from t1
),
t3 as(
select 
    user_id,
    count(*) as days
from t2 
group by user_id,flag
)
select 
    user_id
from t3 
where days>=3

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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