select *
from (select dt,
             round(sum(finish_num) over(order by dt rows 6 preceding)/7,2) as finish_num_7d,
             round(sum(cancel_num) over(order by dt rows 6 preceding)/7,2) as cancel_num_7d
      from (select date(order_time) dt,
                   count(start_time) as finish_num,
                   count(if(start_time is null,1,null)) as cancel_num
            from tb_get_car_order2
            group by dt
            ) t
      )t
where dt between '2021-10-01' and '2021-10-03'