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,
             sum(case when start_time is null then 0 else 1 end) as finish_num,
             sum(case when start_time  is null then 1 else 0 end) as cancel_num
      from tb_get_car_order
        where date(order_time) between '2021-09-25' and '2021-10-03'
      group by date(order_time)
      order by dt) as t1) t2
      where dt between '2021-10-01' and '2021-10-03'