1. 程式人生 > >連續出現的數字

連續出現的數字

col bsp 三次 class 出現 rom style tinc 數字

編寫一個 SQL 查詢,查找所有至少連續出現三次的數字。

+----+-----+
| Id | Num |
+----+-----+
| 1  |  1  |
| 2  |  1  |
| 3  |  1  |
| 4  |  2  |
| 5  |  1  |
| 6  |  2  |
| 7  |  2  |
+----+-----+

例如,給定上面的 Logs 表, 1 是唯一連續出現至少三次的數字。

+-----------------+
| ConsecutiveNums |
+-----------------+
| 1               |
+-----------------+
select Num as ConsecutiveNums  from Logs where Id in (
    select distinct l1.Id from Logs l1,Logs l2,Logs l3
    where (l1.Num = l2.Num and l2.Num = l3.Num and ( 
         (l1.Id + 1= l2.Id  and l2.Id +1 = l3.Id)or
         (l3.Id + 1= l2.Id  and l2.Id +1 = l1.Id)or
         (l3.Id + 1= l1.Id  and l1.Id +1
= l2.Id) ) ) order by l1.Id) group by Num

連續出現的數字