

JOIN 사용3번 연속적으로 나타난다는 것의 의미는 아래와 같이 num의 id가 3번 옆으로 나란히 있다는 것을 말한다. 따라서 Log 테이블을 3번 이용해 접근할 수 있다.

target data로 위 3개의 테이블 중 어떤 num을 가져와도 되며, 연속 3번 나오는 num이 여러개 나와 중복이 발생할 수 있으므로 DISTINCT 처리를 해준다.
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
Logs 테이블을 두 번 더 불러오는 것은 동일하다.
SELECT DISTINCT
num AS ConsecutiveNums
FROM Logs
WHERE
(id + 1, num) IN (SELECT * FROM Logs)
AND (id + 2, num) in (SELECT * FROM Logs)