with t1 as(
select
lt.user_id,
date_format(log_time,'%Y-%m-%d') log_date,
dense_rank()over(partition by lt.user_id order by date_format(log_time,'%Y-%m-%d')) drn
from register_tb rt join login_tb lt using(user_id)
),
t2 as(
select
user_id,
log_date,
date_sub(log_date,interval drn day) diff_date
from t1
)
select
distinct user_id
from t2 group by user_id,diff_date having count(distinct log_date)>=3
order by user_id



京公网安备 11010502036488号