难度:中等
题目描述:
编写一个 SQL 查询,查找所有至少连续出现三次的数字。
例如,给定上面的 Logs 表, 1 是唯一连续出现至少三次的数字。
题解:
思路(假设Id是连续的):
将3个表连接起来,使得他们的Id连续增加,同时他们的Num值相等。
注意:必须返回的是Distinct l1.Num
,否则,连续出现3次以上的数字,返回几次。
# Write your MySQL query statement below
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