select user_id 
from (
select user_id,
date_sub(log_time,interval rk day) as diff
from (
select user_id,
date(log_time) as log_time,
row_number()over(partition by user_id order by date(log_time)) as rk
from login_tb
where user_id in (select user_id from register_tb)
) t1
) t2
group by user_id,diff
having count(diff)>=3
order by user_id