System/OS

[sql] 중복데이터 삭제 쿼리

by hooni posted Apr 23, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
MySQL에서 될지는 모르겠지만..
(SubQuery가능한 버젼이면 된다네요..)

DELETE FROM tab WHERE 번호 NOT IN
    ( SELECT MIN(번호) FROM tab GROUP BY 이름, 나이, 전화번호, 주소필드 );

위의 쿼리를 설명하자면..
번호를 제외한 나머지 컬럼들이 동일할때 번호에 대한 Min값을 구해서
Min이 아닌 번호를 가진 레코드들을 모두 삭제해 줌으로써
동일 정보에 대한 레코드를 제거하는 로직입니다.