题解 | #工作日各时段叫车量、等待接单时间和调度时间#

工作日各时段叫车量、等待接单时间和调度时间

https://www.nowcoder.com/practice/34f88f6d6dc549f6bc732eb2128aa338

 -- 最重要需要判定是否是工作日
 WITH t1 AS 
	 (SELECT r.event_time,
		r.end_time,
        o.order_time,
        o.start_time,
		CASE WHEN 7 <= HOUR(event_time) AND  HOUR(event_time) < 9 THEN '早高峰'
			WHEN 9 <= HOUR(event_time) AND  HOUR(event_time) < 17 THEN '工作时间'
			WHEN 17 <= HOUR(event_time) AND  HOUR(event_time) < 20 THEN '晚高峰'
			ELSE '休息时间'
		END AS period
	 FROM tb_get_car_record r
	 LEFT JOIN tb_get_car_order o USING(order_id)
	  -- 1为星期天,以此类推
     WHERE DAYOFWEEK(event_time) BETWEEN 2 AND 6)
SELECT 
	period,
    COUNT(period) AS get_car_num,
	ROUND(AVG(TIMESTAMPDIFF(SECOND, event_time, end_time)) / 60, 1) AS wait_time,
    ROUND(AVG(TIMESTAMPDIFF(SECOND, order_time, start_time)) / 60, 1) AS dispatch_time
FROM t1
GROUP BY period
ORDER BY get_car_num;

全部评论

相关推荐

不知道怎么取名字_:玩游戏都写到简历上了啊
投递BOSS直聘等公司6个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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