题解 | #每个城市中评分最高的司机信息#
每个城市中评分最高的司机信息
https://www.nowcoder.com/practice/dcc4adafd0fe41b5b2fc03ad6a4ac686
select
city,
driver_id,
avg_grade,
avg_order_num,
avg_mileage
from
(
select
*,
dense_rank() over (
partition by
city
order by
avg_grade desc
) rn
from
(
select
t1.city,
t2.driver_id,
round(avg(t2.grade), 1) avg_grade,
round(
count(*) / count(distinct date_format (order_time, '%Y-%m-%d')),
1
) avg_order_num,
round(
sum(t2.mileage) / count(distinct date_format (order_time, '%Y-%m-%d')),
3
) avg_mileage
from
tb_get_car_record t1
join tb_get_car_order t2 on t1.order_id = t2.order_id
group by
t1.city,
t2.driver_id
) a
) b
where
rn = 1
order by
avg_grade asc
