
정렬된 id를 기준으로 연속으로 3번이상 나오는 num을 추출하는 문제
WITH L_M AS(
SELECT id, num AS num_m
FROM Logs
),
L_B AS(
SELECT id, num AS num_b
FROM Logs
),
L_A AS(
SELECT id, num AS num_a
FROM Logs
)
SELECT
DISTINCT num_m AS ConsecutiveNums
FROM(
SELECT
L_B.*, L_M.num_m, L_A.num_a
FROM L_M
RIGHT JOIN L_B
ON L_M.id=L_B.id-1
INNER JOIN L_A
ON L_M.id=L_A.id+1
) AS inner_table
WHERE 1=1
AND num_b = num_m
AND num_m = num_a
나 같은 경우 너무 복잡하게 푼 것 같다.
num컬럼을 중간, 그 이전, 그 이후를 테이블화해서 join 후 3개의 컬럼이 같을때 값을 추출하도록 했다.
다음번엔 윈도우함수를 써서 진행해보자.