高频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
;
相关推荐
Peter-OK1 分钟前
Redis从3.x到8.4的核心新特性深度解析与实战学习指南
数据库·redis·缓存
文青小兵5 分钟前
云计算Linux——数据库MySQL读写分离、数据库备份、恢复(十八)
linux·运维·服务器·数据库·mysql·云计算
@我漫长的孤独流浪14 分钟前
SQL触发器实战:银行系统数据完整性控制
数据库·oracle
清平乐的技术专栏22 分钟前
【FlinkSQL笔记】(一)什么是Flink SQL
笔记·sql·flink
半夜修仙28 分钟前
Redis中Set数据类型的常见命令
java·数据库·redis·笔记·学习
oradh35 分钟前
Oracle逻辑存储结构概述
数据库·oracle·逻辑存储结构·oracle逻辑存储结构概述
廿一夏39 分钟前
MySql视图触发器函数存储过程
数据库·sql·oracle
hikktn41 分钟前
Oracle 行锁 ORA-00054 高效重试机制实战:MERGE 批量更新 + FOR UPDATE NOWAIT 完整方案
数据库·oracle
￰meteor42 分钟前
【数据库导学】
数据库
zxrhhm43 分钟前
Oracle检查点Checkpoint深度解析
数据库·oracle