select user_id from( select user_id, count(in_day-in_rank) from( select a.user_id,day(log_time) in_day, row_number() over(partition by user_id order by day(log_time)) in_rank from login_tb a join register_tb b on a.user_id=b.user_id )c group by user_id having count(in_day-in_rank)>=3 order by user_id )d