题解 | 最长连续登录天数
select user_id, max(consec_days) as max_consec_days from ( select distinct user_id, count(*) over(partition by user_id,start_date) as consec_days from ( select user_id, fdate, date_sub(fdate, interval rk day) as start_date from ( select user_id, fdate, row_number() over(partition by user_id) as rk from tb_dau as td where fdate >= "2023-01-01" and fdate <= "2023-01-31" ) as t1 ) as t2 ) as t3 group by user_id order by user_id