select-- 按月计算金币数 uid ,date_format(dt,'%Y%m') 'month' ,sum(case when n=3 then 3 when n=0 then 7 else 1 end) as gold_num from (-- 重置天数 select uid ,dt ,sign_day%7 as n from ( -- 判断是连续的第几天 select uid ,dt , row_number()over(partition by t111.uid,t111.dt_sub order by t111.dt) as sign_day from ( -- 判断连续 se...