Números consecutivos
Encuentra todos los números que aparecen al menos tres veces consecutivamente. Regresa el resultado en cualquier orden.
Tabla: Logs
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| id | int |
| num | varchar |
+-------------+---------+
- `id` es la llave primaria y se incrementa automáticamente.
El formato del resultado se muestra en el siguiente ejemplo.
Ejemplo 1:
Entrada:
Tabla Logs:
+----+-----+
| id | num |
+----+-----+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 1 |
| 6 | 2 |
| 7 | 2 |
+----+-----+
Salida:
+-----------------+
| ConsecutiveNums |
+-----------------+
| 1 |
+-----------------+
Explicación: 1 es el único número que aparece consecutivamente al menos tres veces.
Solución
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;