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

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

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

with 
    t1 as(
        select 
            tgcr.city,
            tgco.driver_id,
			#平均评分
            round(avg(tgco.grade),1)  `avg_grade`,
			#日均接单数(每个用户的总接单数/每个用户的接单天数)
            round(count(finish_time)/count(distinct date(finish_time)),1) `avg_order_num`,
			#日均行驶里程
            round(sum(mileage)/count(distinct date(finish_time)),3) `avg_mileage`,
			#关键点 --- 利用开窗将粒度粗的过滤条件加在粒度细的表中
            dense_rank() over(partition by city order by round(avg(grade),1) desc) `rk`
        from tb_get_car_record tgcr
        join tb_get_car_order tgco
        on tgcr.order_id=tgco.order_id
        group by tgcr.city,tgco.driver_id
    )
select 
    city,
    driver_id,
    avg_grade,
    avg_order_num,
    avg_mileage
from t1
where rk=1
order by avg_order_num

全部评论

相关推荐

纯真的河老师在喝茶:第一个是这个时间点岗位少,第二个是这个简历重复度太高了,10个有9个简历差不多的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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