select * from(
select t,
round(avg(finish_order) over w ,2) as avg_f_order,
round(avg(nonfinish_order) over w ,2) as avg_nf_order
from(
select date(order_time) as t,
count(order_id) as total_order,
count(case when mileage>0 then order_id end) as finish_order,
count(case when mileage is null then order_id end) as nonfinish_order
from tb_get_car_order
where date(order_time) between '2021-09-25' and '2021-10-03'
group by t)a
window w as(order by t desc rows between current row and 6 following))b
group by t
having t between '2021-10-01' and '2021-10-03'
order by t asc