select 
user_id,
max(maxrn) as max_consec_days
from (select user_id,
datediff
,count(datediff) as maxrn
from (select 
fdate,
user_id,
fdate - rn as datediff
from (select t1.*,
row_number() over(partition by user_id order by fdate asc) as rn
from (select distinct * from tb_dau  where fdate>= '2023-01-01' AND fdate <= '2023-01-31') t1) t2) t3 group by user_id,datediff) t4
group by user_id