简洁为主 | #工作日各时段叫车量、等待接单时间和调度时间#
工作日各时段叫车量、等待接单时间和调度时间
https://www.nowcoder.com/practice/34f88f6d6dc549f6bc732eb2128aa338
SELECT CASE WHEN DATE_FORMAT(event_time, '%H:%i:%s') >= '07:00:00' AND DATE_FORMAT(event_time, '%H:%i:%s') < '09:00:00' THEN '早高峰' WHEN DATE_FORMAT(event_time, '%H:%i:%s') >= '09:00:00' AND DATE_FORMAT(event_time, '%H:%i:%s') < '17:00:00' THEN '工作时间' WHEN DATE_FORMAT(event_time, '%H:%i:%s') >= '17:00:00' AND DATE_FORMAT(event_time, '%H:%i:%s') < '20:00:00' THEN '晚高峰' ELSE '休息时间' END AS period, COUNT(DISTINCT order_id) AS get_car_num, ROUND(AVG(TIMESTAMPDIFF(second, event_time, end_time))/60, 1) AS avg_wait_time, ROUND(AVG(TIMESTAMPDIFF(second, order_time, start_time))/60, 1) AS avg_dispatch_time FROM tb_get_car_record JOIN tb_get_car_order USING(order_id) WHERE WEEKDAY(event_time) in (0,1,2,3,4) GROUP BY period ORDER BY get_car_num, avg_wait_time