题解 | 查询连续登陆的用户
查询连续登陆的用户
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
查看3道真题和解析