【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;
相关推荐
拾起零碎2 分钟前
U8/材料出库单触发器,有条件的修改出库类别
sql
IronMurphy3 分钟前
Redis拷打第三讲
数据库·redis·mybatis
楠枬12 分钟前
Redis 哨兵
数据库·redis
arronKler13 分钟前
数据库设计三大范式
数据库·oracle
敲代码的嘎仔29 分钟前
力扣高频SQL基础50题详解
开发语言·数据库·笔记·sql·算法·leetcode·后端开发
jran-37 分钟前
MySQL多表操作 查询&子查询&外键约束
数据库·mysql
橙子圆12339 分钟前
Redis知识6之事务
数据库·redis·缓存
不会摸鱼的小鱼42 分钟前
WSL 安装 Ubuntu 22.04 到指定磁盘
数据库·postgresql·php
m0_702036531 小时前
mysql如何导出特定条件的查询数据_使用mysqldump加where参数
jvm·数据库·python
正在走向自律1 小时前
标量子查询消除:数据库优化器的一场“等价变戏法”
数据库·sql 优化·金仓数据库·数据库性能调优·标量子查询·数据库优化器