System/OS
2013.04.23 14:35
[sql] 중복데이터 삭제 쿼리
Views 14815 Comment 0
MySQL에서 될지는 모르겠지만..
(SubQuery가능한 버젼이면 된다네요..)
DELETE FROM tab WHERE 번호 NOT IN ( SELECT MIN(번호) FROM tab GROUP BY 이름, 나이, 전화번호, 주소필드 );
위의 쿼리를 설명하자면..
번호를 제외한 나머지 컬럼들이 동일할때 번호에 대한 Min값을 구해서
Min이 아닌 번호를 가진 레코드들을 모두 삭제해 줌으로써
동일 정보에 대한 레코드를 제거하는 로직입니다.