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

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

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

WITH t1 AS(
    SELECT o.order_id,
        CASE WHEN HOUR(r.event_time) BETWEEN 7 AND 8 THEN '早高峰'
        WHEN HOUR(r.event_time) BETWEEN 9 AND 16 THEN '工作时间'
        WHEN HOUR(r.event_time) BETWEEN 17 AND 19 THEN '晚高峰'
        ELSE '休息时间' END AS period,
        (UNIX_TIMESTAMP(r.end_time) - UNIX_TIMESTAMP(r.event_time)) / 60.0 wait_time,
        CASE 
            WHEN o.fare IS NOT NULL 
            THEN (UNIX_TIMESTAMP(o.start_time) - UNIX_TIMESTAMP(o.order_time)) / 60.0 
            ELSE NULL 
        END AS dispatch_time
    FROM tb_get_car_record r
    LEFT JOIN tb_get_car_order o
    ON o.order_id = r.order_id
    WHERE WEEKDAY(r.event_time) BETWEEN 0 AND 4
)

SELECT period,
    COUNT(*) get_car_num,
    ROUND(AVG(wait_time),1) avg_wait_time,
    ROUND(AVG(dispatch_time),1) avg_dispatch_time
FROM t1
GROUP BY period
ORDER BY get_car_num ASC

全部评论

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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