Leetcode 180. Consecutive Numbers (Database)
Write a SQL query to find all numbers that appear at least three times consecutively.
+----+-----+ | Id | Num | +----+-----+ | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | 2 | | 5 | 1 | | 6 | 2 | | 7 | 2 | +----+-----+
For example, given the above Logs
table, 1
is the only number that appears consecutively for at least three times.
思路:和其他在一个Table中选出满足一定条件的row一样,如果这个条件牵扯到Table中其他的行,那么一般需要select from 多个list。
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