with user_login as (
select
rt.user_id,
lt.log_time,
-- 取后一天的登录时间
lead(lt.log_time, 1) over(partition by rt.user_id order by lt.log_time) as next_day,
-- 取后两天的登录时间
lead(lt.log_time, 2) over(partition by rt.user_id order by lt.log_time) as next_next_day
from register_tb rt
join login_tb lt on rt.user_id = lt.user_id
)
select distinct user_id
from user_login
-- 确保存在连续三天:当天与次日差1天,次日与后日差1天
where datediff(next_day, log_time) = 1
and datediff(next_next_day, next_day) = 1
order by user_id;

京公网安备 11010502036488号