1)请统计2021年国庆7天期间在北京市接单至少3次的司机的平均接单数
  • DATE(order_time) BETWEEN '2021-10-01' AND '2021-10-07' -- 国庆期间
  • COUNT(order_id)>=-- 接单次数至少3次
  • AVG(COUNT(order_id)) -- 平均接单次数
  • city='北京'
  • 以上内容需要对司机ID进行聚类
SELECT a.driver_id,COUNT(a.order_id) ord_cnt,SUM(fare) fare_total
FROM tb_get_car_order a JOIN tb_get_car_record b USING(order_id)
WHERE DATE(order_time) BETWEEN '2021-10-01' AND '2021-10-07' -- 国庆期间
AND city='北京' -- 北京司机
GROUP BY a.driver_id
HAVING ord_cnt>=3 -- 接单次数至少3次

2)平均兼职收入(暂不考虑平台佣金,直接计算完成的订单费用总额),结果保留3位小数。
  • AVG(ord_cnt)  -- 平均接单次数
  • AVG(fare_total) -- 平均订单总额
  • ROUND(x,3) -- 结果保留3位小数
WITH t1 AS(
SELECT a.driver_id,COUNT(a.order_id) ord_cnt,SUM(fare) fare_total
FROM tb_get_car_order a JOIN tb_get_car_record b USING(order_id)
WHERE DATE(order_time) BETWEEN '2021-10-01' AND '2021-10-07' -- 国庆期间
AND city='北京'
GROUP BY a.driver_id
HAVING ord_cnt>=3
)
SELECT '北京' AS city,ROUND(AVG(ord_cnt),3) avg_order_num,ROUND(AVG(fare_total),3) avg_income FROM t1;