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

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

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

select city,driver_id,avg_grade,avg_order_num,avg_mileage
from
    (
    select city,
    driver_id,
    round(avg(grade),1) avg_grade,
    max(round(avg(grade),1)) over(partition by city) max_grade,
    round(count(*)/count(distinct date(order_time)),1) avg_order_num,
    sum(mileage)/count(distinct date(order_time)) avg_mileage
    from
        tb_get_car_record join tb_get_car_order using(order_id)
    group by city,driver_id
)t
where avg_grade = max_grade
order by avg_order_num

内层先聚合查询出每个司机的聚合数据,并添加一个城市最大平均评分数据max(round(avg(grade),1)) over(partition by city) max_grade

外层根据司机的平均评分和最大评分,判断是否输出

全部评论

相关推荐

09-28 22:01
已编辑
广西科技大学 IT技术支持
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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