with a as( select user_id,fdate, cast(diff as SIGNED) - cast(sign1 as SIGNED) as sign from( select user_id,fdate, datediff(fdate,'2023-01-01') diff, row_number() over(partition by user_id order by fdate ) as sign1 from tb_dau where fdate between '2023-01-01' and '...