题目
编写解决方案,报告每个用户的旅行距离。
返回的结果表单,以 travelled_distance 降序排列 ,如果有两个或者更多的用户旅行了相同的距离, 那么再以 name 升序排列
解析
数据来源用户表与距离表,连接条件为用户id,设左边为用户表,则左边包含右边,所以为左外连接,根据用户id分组聚合,求总距离。
题解
select name,ifnull(sum(distance),0) travelled_distance
From Users
left join Rides
on Users.id=Rides.user_id
group by Rides.user_id
order by travelled_distance desc,name asc;