【SQL】连续出现的球员身高

描述

请编写一个 SQL 语句,在球员表(players)中找出至少有三个 id 连续的球员达到此高度的球员身高,返回的结果可以按任意顺序排列。

表定义: players (球员表)

列名类型注释
idint unsigned主键
heightint球员身高

【附答案】花高价求来的OpenAI题库,仅限前50份!

微信加sunny【jiuzhang1104】备注【AI】即可领取

返回的结果可以按任意顺序排列

样例

样例一:

表内容: players

idheight
1198
2198
3198
4226

如上述球员 (players) 表,id 为 1、2、3 的球员身高值都达到了 198,所以返回 198

height
198

样例二:

表内容: players

idheight
1198
2196
3188

如上述球员 (players) 表,没有满足条件的身高,则什么也不返回

思路: 像这种在表中连续的查询的,可以使用自连接的方式来解决。

将表players与自己连接两次,得到一个三表连接的结果集,然后筛选出三个表中 id 连续的记录,查看记录中三个表的身高 height 是否相等

题解代码:

select p1.height height
    from players p1, players p2,  players p3
    where p2.id = p1.id +1 
    and p3.id = p2.id +1
    and p2.height = p1.height and p3.height = p2.height

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值