Leetcode-MySQL-180. 连续出现的数字
程序员文章站
2022-03-13 23:40:52
...
编写一个 SQL 查询,查找所有至少连续出现三次的数字。
+----+-----+
| Id | Num |
+----+-----+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 1 |
| 6 | 2 |
| 7 | 2 |
+----+-----+
例如,给定上面的 Logs 表, 1 是唯一连续出现至少三次的数字。
+-----------------+
| ConsecutiveNums |
+-----------------+
| 1 |
+-----------------+
解答:
连续出现的意味着相同数字的 Id 是连着的,由于这题问的是至少连续出现 3 次,我们使用 Logs 并检查是否有 3 个连续的相同数字。
select distinct l1.num as ConsecutiveNums
from
logs as l1,logs as l2,logs as l3
where l1.num=l2.num and l2.num=l3.num and l1.id=l2.id-1 and l2.id=l3.id-1;
上一篇: 如何安装Linux恶意软件检测的程序