select user_id ,max(连续登陆天数) max_consec_days
from
(select user_id, count(*) as 连续登陆天数
from
(select user_id, fdate, 
date_sub(fdate,interval row_number() over(partition by user_id order by fdate) day) 相对
from tb_dau) as t1
group by user_id,相对) t2
group by user_id ;
真是太难了,看着大佬的摸索出来的