select uid, date_format(dt,"%Y%m") as month_, sum(have_money) as coin from ( select uid, dt, case when rn%7 = 3 then 3 when rn%7 = 0 then 7 else 1 end as have_money from ( select uid, dt, dense_rank()over(partition by cut_dt order by dt) as rn from ( select uid, dt, date_sub(dt, interval cut day) as...