题解 | #2021年国庆在北京接单3次及以上的司机统计信息#

2021年国庆在北京接单3次及以上的司机统计信息

http://www.nowcoder.com/practice/992783fd80f746d49e790d33ee537c19


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;

SQL解题集 文章被收录于专栏

这是牛客SQL相关的解题集

全部评论
t1里面可以直接select city么?为何要‘北京’as city呢?
点赞 回复 分享
发布于 2022-05-06 15:26

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务