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

查询连续登陆的用户

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

-- 连续登陆不少于3天的新注册用户
with t as (select user_id, date(log_time) as log_date, 
row_number() over (partition by user_id order by log_time) as rn
from login_tb ),

t2 as (select user_id, log_date, date_sub(log_date, interval rn day) as day
from t),

t3 as (select t2.user_id, t2.log_date, t2.day  
from t2 left join register_tb r on t2.user_id = r.user_id
where r.reg_time <= t2.log_date),


t4 as( select user_id, count(*) as num_consec
from t3
group by user_id, day
having  count(*) >= 3)

select user_id from t4 order by user_id


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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