Database

[mysql] 중복데이터 삭제하는 초간단 쿼리

by hooni posted Nov 22, 2017
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

MySQL에서는 Sub Query 가능한 버전이어야 함.


mysql> delete from tab where 번호 not in
    -> ( select min(번호) from tab group by 이름, 나이, 전화번호, 주소필드 );


위의 쿼리를 설명하자면..

번호를 제외한 나머지 컬럼들이 동일할때 번호에 대한 Min값을 구해서 Min이 아닌 번호를 가진 레코드들을 모두 삭제해 줌으로써 동일 정보에 대한 레코드를 제거하는 로직임.