题解 | #每个城市中评分最高的司机信息#

每个城市中评分最高的司机信息

https://www.nowcoder.com/practice/dcc4adafd0fe41b5b2fc03ad6a4ac686

select city, driver_id,
       round(max(avggrade), 1)  
           as avg_grade,
       round(count(1) / count(distinct date(order_time)), 1) 
           as avg_order_num,
       round(sum(mileage) / count(distinct date(order_time)), 3) 
           as avg_mileage
from tb_get_car_order
    left join (
        
        -- 求得每个司机的平均分,并按照不同城市进行排名
        select city, driver_id,
               avg(grade)
                   as avggrade,
               -- 考虑到并列第一的情况,题目未阐述,故使用dense_rank
               dense_rank() over (partition by city order by avg(grade) desc )
                   as drk_grade 
        from tb_get_car_order
        left join tb_get_car_record using (order_id)
        group by city, driver_id
        
        # 生成表tb_driver_rk大致如下:        
        # | city | driver_id | avggrade | drk_grade |
        # | 北京 | 203 | 4.7500 | 1 |
        # | 北京 | 202 | 4.3333 | 2 |
        
        ) tb_driver_rk using (driver_id)

-- 筛选出各城市并列第一的司机
where drk_grade = 1
group by city, driver_id
-- 根据日均接单量排序
order by avg_order_num;

全部评论

相关推荐

牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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