select user_id from
(select  user_id, 
date_sub(date,interval rk day) from(
select  user_id, date_format(log_time,'%Y-%m-%d') as date, 
dense_rank() over(partition by user_id order by log_time) rk
from login_tb ) t
where user_id in (select user_id from register_tb)
order by user_id) t1
group by user_id
having count(*) >= 3