select 
city,
round(avg(bill_count),3) as avg_order_num,
round(avg(fare),3) as avg_income
from
(
select
city,
a.driver_id,
count(*) as bill_count,
sum(fare) as fare
from tb_get_car_order a left join tb_get_car_record b on a.order_id = b.order_id
where b.order_id !='NULL' 
    and date(order_time) between '2021-10-01' and '2021-10-07'
    and city = '北京'
group by a.driver_id
having count(*)>=3
) as subquery
group by city

比较简单,但是有一个坑就是师傅接到单了被取消也算在师傅的“平均接单数中”,所以刚开始写的时候一直报错,因为做了去除null数据的操作