第一步
将日期连续的归到同一个date
select *,calendar_date-rn as date_group
from (select *,row_number() over(PARTITION by auid order by calendar_date) as rn
from (select calendar_date,auid from test.test_11
group by calendar_date,auid) a
)b
第二步
select auid,date_group,count(1) as continuous_days
from (
select *,calendar_date-rn as date_group
from (select *,row_number() over(PARTITION by auid order by calendar_date) as rn
from (select calendar_date,auid from test.test_11
group by calendar_date,auid) a
)b
) t
group by auid,date_group
having count(1) >= 3;