select user_id, max(lasting)+1 as max_consec_days from ( select user_id, init_day, max(row_number1)-min(row_number1) lasting from ( select fdate, user_id, row_number() over(partition by user_id order by fdate ) as row_number1, date_sub(fdate, interval row_number() over(partition by user_id order by fdate ) day) as init_day from tb_dau where fdate>='2023-01-01' and fdate<'2023-02-01' group by fdate, user_id ) app group by user_id, init_day )ma group by user_id

京公网安备 11010502036488号