题解 | 统计骑手信息

统计骑手信息

https://www.nowcoder.com/practice/704de2445ed943c6bf65cfd77bd69ff4

select t.zone_id,zone_name
,sum(case when status = 'delivered' and date_format(delivered_time,'%Y-%m') = '2023-02' then 1 else 0 end) as peak_2023_02_delivered
,sum(case when status = 'delivered' and date_format(delivered_time,'%Y-%m') = '2024-02' then 1 else 0 end) as peak_2024_02_delivered
,sum(case when status = 'delivered' and date_format(delivered_time,'%Y-%m') = '2024-01' then 1 else 0 end) as peak_2024_01_delivered
,sum(case when status = 'delivered' and date_format(delivered_time,'%Y-%m') = '2024-02' then 1 else 0 end)-sum(case when status = 'delivered' and date_format(delivered_time,'%Y-%m') = '2023-02' then 1 else 0 end) as yoy_delta
,sum(case when status = 'delivered' and date_format(delivered_time,'%Y-%m') = '2024-02' then 1 else 0 end)-sum(case when status = 'delivered' and date_format(delivered_time,'%Y-%m') = '2024-01' then 1 else 0 end) as mom_delta
,max(avg1) as avg_peak_minutes_2024_02
,max(t3.courier_name) as top_courier_2024_02
from Zones t
left join Orders t1 on t.zone_id=t1.zone_id
left join (select t.zone_id
          ,round(avg(TIMESTAMPDIFF(minute,order_time,delivered_time)),2) as avg1
           from Zones t
           left join Orders t1 on t.zone_id=t1.zone_id
           where date_format(delivered_time,'%Y-%m') = '2024-02'
           group by t.zone_id) t2
           on t.zone_id=t2.zone_id
left join (select t.zone_id,courier_name,t1.courier_id 
                 ,row_number()over(partition by t.zone_id order by count(*) desc,t1.courier_id) as rn 
           from Zones t
           left join Orders t1 on t.zone_id=t1.zone_id
           left join Couriers t2 on t1.courier_id=t2.courier_id 
           where date_format(delivered_time,'%Y-%m') = '2024-02'
           group by t.zone_id,courier_name,t1.courier_id) t3
           on t.zone_id=t3.zone_id and rn=1
group by t.zone_id,zone_name

全部评论
我这个应该最简单了
点赞 回复 分享
发布于 2025-11-18 16:40 上海

相关推荐

03-07 17:51
已编辑
南华大学 后端工程师
asdasdasda...:也不知道是不是真的被逼呢,也有可能女方有很多东西瞒着男方,这种东西男方什么情况都不知道全靠女方说,很难评的
点赞 评论 收藏
分享
小浪_Coding:1. 个人技能排版太乱, 写的技术栈太浅了, 跟测试,自动化相关的太少; 2. 项目开发类的太简单没有亮点, 算法类的项目建议只放一个,最好有自动化,CI/CD, pipline的项目, 需要更换; 3.整体排版需要优化, SOOB打招呼都需要注意等.
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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