with a as(
select
user_id,
date(log_time) as time,
rank() over(partition by user_id order by date(log_time)) as rk
from register_tb join login_tb using(user_id)
group by user_id,date(log_time)
),
b as(
select
user_id,
count(*) as number
from a
group by user_id,time-rk
)
select
user_id
from b
where number>=3;

京公网安备 11010502036488号