【SQL】1407. 排名靠前的旅行者

题目描述

leetcode题目:1407. 排名靠前的旅行者



Code

写法一

先过滤,再连表

sql 复制代码
-- 写法一:先过滤再连表
select name, ifnull(summ, 0) as travelled_distance
from Users
left join(
    select user_id, sum(distance) as summ
    from Rides
    group by user_id
) A
on Users.id = A.user_id
order by summ desc, name asc;

写法二

先连表,再过滤

sql 复制代码
-- 写法二:先连表再过滤
select  name, ifnull(sum(distance), 0) as travelled_distance
from Users U 
left join Rides R
on U.id = R.user_id
group by R.user_id
order by travelled_distance desc, name;
相关推荐
我是一颗柠檬1 小时前
【MySQL全面教学】MySQL面试高频考点汇总Day15(2026年)
数据库·后端·mysql·面试
凯瑟琳.奥古斯特2 小时前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
身如柳絮随风扬2 小时前
数据库读写分离:从原理到实战,构建高并发系统
数据库·mysql
叶小鸡2 小时前
小鸡玩算法-力扣HOT100-多维动态规划
算法·leetcode·动态规划
提笔了无痕3 小时前
RAG存储策略中.md格式的切片与存储怎么处理
数据库·ai·rag
陳土3 小时前
DuckDB精读——基于Getting started with DuckDB
数据库·oracle
菜菜的顾清寒3 小时前
力扣HOT100(42)链表-随机链表的复制
算法·leetcode·链表
凯瑟琳.奥古斯特3 小时前
数据库原理选择题精选
数据库·python·职场和发展
曹牧4 小时前
C#:主线程能够捕获到子线程中的异常
开发语言·数据库·c#