高频SQL 连续出现的数字

题目信息

表:Logs

复制代码
+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| num         | varchar |
+-------------+---------+
在 SQL 中,id 是该表的主键。
id 是一个自增列。

找出所有至少连续出现三次的数字。

返回的结果表中的数据可以按 任意顺序 排列。

结果格式如下面的例子所示:

示例 :

复制代码
输入:
Logs 表:
+----+-----+
| id | num |
+----+-----+
| 1  | 1   |
| 2  | 1   |
| 3  | 1   |
| 4  | 2   |
| 5  | 1   |
| 6  | 2   |
| 7  | 2   |
+----+-----+
输出:
Result 表:
+-----------------+
| ConsecutiveNums |
+-----------------+
| 1               |
+-----------------+
解释:1 是唯一连续出现至少三次的数字。

题解:

sql 复制代码
SELECT DISTINCT
    l1.Num AS ConsecutiveNums
FROM
    Logs l1,
    Logs l2,
    Logs l3
WHERE
    l1.Id = l2.Id - 1
    AND l2.Id = l3.Id - 1
    AND l1.Num = l2.Num
    AND l2.Num = l3.Num
;
相关推荐
自由日记3 小时前
mysql初修1
数据库·mysql
少年攻城狮3 小时前
OceanBase系列---【oceanbase的oracle模式新增分区表】
数据库·oracle·oceanbase
BullSmall4 小时前
MySQL8.0全栈初始化脚本集
数据库·mysql
六月闻君4 小时前
MySQL8主从数据库复制故障
数据库·mysql
洲覆4 小时前
缓存异常:缓存穿透、缓存击穿、缓存雪崩
开发语言·数据库·mysql·缓存
xcLeigh5 小时前
KingbaseES数据库:本地连接全攻略!从环境检查到问题排查,新手也能轻松上手
数据库
rexling15 小时前
【玩转全栈】----Django基本配置和介绍
数据库·django·sqlite
Deamon Tree5 小时前
如何保证缓存与数据库更新时候的一致性
java·数据库·缓存
大G的笔记本5 小时前
MySQL 中的 行锁(Record Lock) 和 间隙锁(Gap Lock)
java·数据库·mysql
洲覆5 小时前
go-mysql-transfer 伪装从库实现 MySQL 到 Redis 数据同步(完整配置)
数据库·redis·mysql·golang