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数据的操作