with t as
(select
user_id
,(day(log_time) - rank()over(partition by user_id order by log_time)) log_initial_rank
from
login_tb)
,
t2 as (
select
user_id,
count(*) days
from
t
group by user_id, log_initial_rank)
select
user_id
from
t2
where days >= 3 and user_id in (
select
user_id
from
register_tb
)
order by user_id

京公网安备 11010502036488号