with 
new_user as (
    select user_id from register_tb where date(reg_time) = '2022-02-08'
)


,user_login as (
    select l.user_id, date(l.log_time) as login_date, row_number() over(partition by l.user_id order by date(l.log_time) asc ) as rk
    from login_tb l where l.user_id in (select distinct user_id from new_user)
)

, login_streak as (
    select user_id, login_date, datediff(login_date, date_add('2022-02-08', interval (rk-1) day)) as days_diff
    from user_login
)

select user_id from login_streak
group by user_id, days_diff
having count(login_date) >= 3
order by user_id asc