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'