select a.user_id,a.lianxu_tianshu as max_consec_days
from
(
select a1.user_id,count(*) as lianxu_tianshu,

row_number()over(partition by a1.user_id order by count(*) desc) as raank

from
(select user_id,fdate,
date_sub(fdate,interval row_number()over(partition by user_id order by fdate asc) Day) as gengxin_date
from tb_dau
WHERE fdate BETWEEN '2023-01-01' AND '2023-01-31'
) as a1
group by a1.user_id,a1.gengxin_date
) as a
WHERE a.raank=1