SQL/기타
[SQL] key값 없는 중복 데이터 정리하는 방법 (feat.쿼리박스)
도미노&
2018. 5. 3. 15:49
쿼리박스라는 툴 사용하면 select한 값을 insert문으로 얻을 수 있다.
다운로드 >> http://www.querybox.com/download/
1. 쿼리박스 실행
2. 2개 이상 있는 중복 데이터를 조회한다.
1 2 3 4 5 6 7 | SELECT A.컬럼1, A.컬럼2, ... , A.컬럼n FROM ( SELECT 테이블명.* , COUNT(*) AS CNT FROM 테이블명 GROUP BY 컬럼1, 컬럼2, 컬럼3, ... , 컬럼n HAVING COUNT(*)>1 ) A | cs |
3. 쿼리박스를 이용해 insert문을 얻는다.
>> INSERT INTO 테이블명(컬럼1, 컬럼2, ... , 컬럼n) VALUES (데이터1, 데이터2, ... , 데이터n);
4. (insert문으로 추출했으니)중복되는 데이터를 삭제한다. 그전에 select로 확인.
1 2 3 4 5 6 7 8 9 10 11 12 13 | SELECT * FROM 테이블명 WHERE 컬럼1 = '조건1' AND 컬럼2 = '조건2' AND 컬럼3 IN ( SELECT A.컬럼2 FROM ( SELECT 테이블명.* , COUNT(*) AS CNT FROM 테이블명 GROUP BY 컬럼1, 컬럼2, 컬럼3 HAVING COUNT(*)>1 ) A ); | cs |
5. 3에서 얻은 insert문 실행하고 commit;