with siji as( select driver_id from tb_get_car_order where fare is null and date(order_time) between '2021-10-01'and '2021-10-31' ) , -- 找到有取消订单的司机 pf as(select driver_id, grade from tb_get_car_order where driver_id in(select driver_id from siji) and grade is not null)-- 找到这些司机的评分 select driver_id,round(avg(grade),1)as avg_grade from pf group by driver_id -- 计算均分 union select '总体'as driver_id,round(sum(grade)/count(driver_id),1)as avg_grade from pf -- 计算总分 order by driver_id --排序,汉字默认在数字后