180. Consecutive Numbers

Difficulty:
Related Topics:
    Similar Questions:

      Problem

      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.

      +-----------------+
      | ConsecutiveNums |
      +-----------------+
      | 1               |
      +-----------------+
      

      Solution 1

      # Write your MySQL query statement below
      select distinct A.Num as ConsecutiveNums
        from Logs A
        left join logs B
          on A.Id = B.Id - 1
        left join logs C
          on B.Id = C.Id - 1
        where A.Num = B.Num
          and B.Num = C.Num
      

      Explain:

      nope.

      Complexity:

      Solution 2

      # Write your MySQL query statement below
      select distinct A.Num as ConsecutiveNums
        from Logs A, logs B, logs C
        where A.Num = B.Num
          and B.Num = C.Num
          and A.Id = B.Id - 1
          and B.Id = C.Id - 1
      

      Explain:

      nope.

      Complexity: