select user_id,max(连续登入天数) as max_consec_days
from 
(select user_id,max(日期排序)-min(日期排序)+1 as 连续登入天数
from
(select
user_id,
fdate,
row_number()over(partition by user_id order by fdate) as 日期排序,
date_sub(fdate,interval row_number()over(partition by user_id order by fdate) day) as 初始日期
from tb_dau
where month(fdate)=1)as rk
group by user_id,初始日期) as rk2
group by user_id