思路:①完成订单的时间看finish_time,但未完成订单的null显示在其他列,可以选start_time来计数。
②因此窗口函数用count(start_time)over(order by date(finish_time))来计算完成/未完成的订单数,框定时间窗口为 当前日期至前推6天之内,形成表tb1;
③再做一次子查询,计算题目要求的数据,并筛选日期范围在10.1-10.3之间。

select distinct dt,
round(a/7,2) as finish_num_7d, 
round(b/7,2) as cancel_num_7d
from(
select date(finish_time) dt,
count(start_time)over(order by date(finish_time) range interval 6 day preceding) a,
count(if(start_time is null,1,null))over(order by date(finish_time) range interval 6 day preceding) b
from tb_get_car_order) as tb1
where dt between '2021-10-01' and '2021-10-03'
order by dt