[mysql] 연속되지 않은 (중간에 끊긴) 번호 찾기

어떤 컬럼이 1,2,3,… 이런식으로 연속으로 값이 들어가야 하는데 여러가지 이유로 중간에 끊긴 부분이 있고 그걸 찾아야 하는 경우에 사용할 수 있는 쿼리.

SELECT MIN(t1.dno) + 1 AS first_gap_start
FROM 테이블명 AS t1
LEFT JOIN 테이블명 AS t2 ON t1.컬럼명 + 1 = t2.컬럼명
WHERE t2.컬럼명 IS NULL;

Leave a Comment