欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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 个连续的相同数字。

Leetcode-MySQL-180. 连续出现的数字

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;