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

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

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

SELECT t1.city, t1.driver_id, t1.avg_grade, t1.avg_order_num, t1.avg_mileage
FROM(
SELECT tbr.city, tbo.driver_id, ROUND(AVG(tbo.grade), 1) AS avg_grade,
DENSE_RANK() OVER(PARTITION BY tbr.city ORDER BY AVG(tbo.grade) DESC) as rn,
ROUND(COUNT(*) / COUNT(DISTINCT(DATE(tbo.order_time))), 1) AS avg_order_num,
ROUND(SUM(tbo.mileage) / COUNT(DISTINCT(DATE(tbo.order_time))), 3) AS avg_mileage
FROM tb_get_car_order AS tbo
INNER JOIN tb_get_car_record AS tbr
ON tbo.order_id = tbr.order_id
GROUP BY tbr.city, tbo.driver_id) AS t1
WHERE t1.rn = 1
ORDER BY t1.avg_order_num;

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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