【SQL】1204. 最后一个能进入巴士的人(窗口函数;自连接)

前述

知识点学习:自连接和笛卡尔积连接的区别

题目描述

leetcode题目:1204. 最后一个能进入巴士的人

方法一:窗口函数

sql 复制代码
select person_name 
from(
    select *,
        sum(weight) over(order by turn) as sumweight
    from Queue
) A
where sumweight <= 1000
order by sumweight desc
limit 1;

方法二:自连接

sql 复制代码
select A.person_name
from Queue A, Queue B 
where A.turn >= B.turn
group by A.person_id
having sum(B.weight) <= 1000
order by A.turn desc
limit 1;

自连接和笛卡尔积连接的区别

引用 自连接和笛卡尔积连接的区别 总结:

1. 自连接:同一张表被当作不同表(设置不同别名)进行连接
  • 自连接顾名思义就是自己连接自己,因此只有一张表用来连接生成临时表;
  • 自连接需要通过"where"关键字来设置连接条件,而不是通过"on";
2. 笛卡尔积连接:不设置连接条件的连接
  • 连接的表可以是同一张表(要设置不同的别名,否则报错),也可以是多张不同的表;
  • 笛卡尔积连接的原理是不管两张或多张表的记录是否匹配,均一一对应生成新的记录,因此笛卡尔积连接不设置连接条件(如on,wher等)。
相关推荐
努力进修3 分钟前
时序数据长期承载难题:从压缩、批量写入到数据组织优化
java·开发语言·数据库
CaptainT7 分钟前
先把例子跑起来:MySQL 环境与本文的示例数据
数据库·后端·mysql
Dovis(誓平步青云)8 分钟前
总用电下降了,为什么家庭能源看板仍然提示异常
java·开发语言·数据库·人工智能·算法·电脑·能源
xiaogai_gai8 分钟前
电商采购入库对接财务VMI采购入库(单号回写)实战教程
大数据·数据库
夜雪一千15 分钟前
MySQL中查询和操作JSON类型的数据
数据库·mysql·json
一条破秋裤30 分钟前
05_设备树自定义属性_写入读取验证
linux·网络·数据库
辛迪聊物业数字化40 分钟前
物业数字化选型避坑:3步判断系统是否适配你的业态
数据库
砚底藏山河40 分钟前
量化新手误区:因子计算与行情数据的工程化解耦
java·数据库·python·金融
程序 代码狂人1 小时前
SQL COUNT 统计 NULL 与空字符串 ‘‘ 差异(Oracle & Impala)
数据库·sql·oracle
for_ever_love__1 小时前
MySQL 8.0 表设计规范:从业务建模、约束到索引评审的完整方法
数据库·mysql·表设计·建表规范