题解 | 每个城市中评分最高的司机信息
每个城市中评分最高的司机信息
https://www.nowcoder.com/practice/dcc4adafd0fe41b5b2fc03ad6a4ac686
WITH T1 AS (
SELECT
driver_id,
city,
round(avg(grade),1) 平均评分,
round(count(order_id)/count(DISTINCT date(order_time)),1) 接单数量,
round(sum(mileage)/count(DISTINCT date(order_time)),3) 平均里程
FROM
tb_get_car_order JOIN tb_get_car_record USING(order_id)
GROUP BY
driver_id, city
),
T2 AS (
SELECT
*,
rank() over(partition by city order by 平均评分 DESC) 排名
FROM
T1
)
SELECT
city,
driver_id,
平均评分 avg_grade,
接单数量 avg_order_num,
平均里程 avg_mileage
FROM
T2
WHERE
排名 = 1
ORDER BY
avg_order_num