참조 : http://gyuha.tistory.com/309
위 블로그에서 알려주시는 쿼리를 적용하였다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /* 중복 레코드 조회 */ SELECT 테이블_index, 중복필드, count (*) as cnt FROM 테이블 GROUP BY 중복필드 HAVING count (테이블_index)>1; /* 중복 레코드 삭제 */ DELETE FROM 테이블 WHERE 테이블_index not in ( SELECT 테이블_index FROM ( SELECT 테이블_index FROM 테이블 GROUP BY 중복필드 ) as b ); |
하나의 테이블에 특정 레코드가 중복되어 있을 때 중복 레코드를 삭제하도록 하여야 한다.
테이블에 index로 primary key가 있으면 더욱 확실하게 삭제될 것이다.
테이블 : 테이블
테이블_index : primary key 필드
중복필드 : 테이블에 중복되는 필드
※ 백업을 하신 후 진행하세요. 기존 데이터를 작업하기전에 백업을 하신 후 하시거나 테이블를 카피하여 테스트 한 후 진행하시기 바랍니다.
'프로그램개발 > DB(MySQL,MariaDB,MongoDB)' 카테고리의 다른 글
두 테이블을 비교해서 같지 않은 값만 출력하기 (0) | 2016.02.19 |
---|---|
Mysql Join 해부(Left, Right, Outer, Inner Join) (0) | 2016.02.11 |
MySQL root 패스워드 분실시 (0) | 2014.06.24 |
SQL문 작성시 속도를 고려하여 작성하기... (0) | 2014.04.30 |
MySQL JOIN 잘 정리한 이미지 (0) | 2014.02.06 |