중복 확인
SELECT * FROM 테이블 WHERE 검색할 필드 IN ( SELECT 검색할 필드 FROM 테이블 GROUP BY 검색할 필드 HAVING COUNT(*) > n)
중복 데이터 전체 확인
select A.* from 테이블 A, (select 검색할필드명 from 테이블 group by 검색할 필드 having count(*) > n) B where A.필드 = B.필드
중복이 2개일 경우 중복행 중 1개만 제거
DELETE FROM notes WHERE id IN (SELECT MIN(id) FROM notes GROUP BY name, date, value HAVING COUNT(*) > 1)
여기서 id 는 AUTO_INCREMENT 로, 기본 키 값을 증가의 자동 시퀀스를 생성하는 키이다.
중복일 경우 id가 가장 작은 행을 지우겠다는 의미의 쿼리이다.
3개 이상일 경우 1개만 남기고 제거
수정중
반응형