题目来源:
leetcode题目,网址:1407. 排名靠前的旅行者 - 力扣(LeetCode)
解题思路:
首先以 User 表为基准连接两表,接着根据 user_id 进行分组聚合,然后对各组内距离求和,为空时距离为0 , 再优先根据距离降序排序,距离相同时根据名字升序排序,最后按要求输出。
解题代码:
# Write your MySQL query statement below
select a.name,ifnull(sum(b.distance),0) as travelled_distance
from users as a left join Rides as b on b.user_id=a.id
group by b.user_id
order by travelled_distance desc, name
总结:
无官方题解。
IFNULL(exp1,exp2)——当 exp1 为 null 时,变更为 exp2。