with t1 as (
select
user_id,
fdate,
date_sub(fdate,interval (row_number() over (partition by user_id order by fdate)-1) day) as gre_date
from tb_dau),
t2 as (
select
user_id,
gre_date,
count(*) as consecutive_days
from t1
group by user_id,gre_date
)
select user_id,max(consecutive_days) as max_consec_days
from t2
group by user_id
order by user_id;



京公网安备 11010502036488号