【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;
相关推荐
Schengshuo8 分钟前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
2401_883035469 分钟前
数据分析与科学计算
jvm·数据库·python
无尽的罚坐人生10 分钟前
hot 100 35. 搜索插入位置
数据结构·算法·leetcode·二分查找
葳_人生_蕤11 分钟前
力扣Hot100——234.回文链表
算法·leetcode·链表
gp32102614 分钟前
MSSQL2022的一个错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.16.0”提供程序
数据库·microsoft
oradh17 分钟前
Oracle 19c 单机安装总结_linux7
数据库·oracle
qq_3907603923 分钟前
简单的线程安全日志记录器
开发语言·数据库·c#
青柠代码录42 分钟前
【MySQL】DISTINCT 详解
数据库·mysql
数据知道43 分钟前
MongoDB查询执行计划解读:executionStats详细分析与性能诊断
数据库·mongodb
筵陌44 分钟前
MySQL Connector/C API的使用
数据库·mysql