본문 바로가기
Front-End/MySQL

[MySQL] 중복데이터 하나만 남기고 삭제하기.

by 민바이민 2021. 4. 2.

MySQL

 

 

 

문법)

DELETE a FROM [테이블명] a, [테이블명] b WHERE a.[순서값을 가진 컬럼명] > b.[순서값을 가진 컬럼명] AND a.[중복값을 비교할 컬럼명] = b.[중복값을 비교할 컬럼명];

a와 b는 임의로 주는 값이기 때문에 어떠한 문자열을 넣어도 상관없습니다.
테이블명은 데이터를 가지고 있는 TABLE의 이름을 써주시면되는데 예시로 test라는 테이블을 사용했습니다.
순서값을 가진 컬럼명은 보통 AUTO_INCREMENT(자동 증가)하는 숫자 데이터가 담긴 컬럼입니다.
저는 보통 idx(index의 약자) 컬럼을 AUTO_INCREMENT 컬럼으로 설정해놓습니다.(개취입니다)
중복값을 비교할 컬럼은 데이터를 가지고 있는 컬럼명을 써주시면 됩니다. 여기 예시로는 value라는 컬럼이 데이터를 가지고 있는 컬럼으로 설정해보았습니다.

 

예제)

DELETE a FROM test a, test b WHERE a.idx > b.idx AND a.value = b.value;

 

'Front-End > MySQL' 카테고리의 다른 글

[MySQL] 맥북(bigsur)에서 닷홈에 DB올리기, 연동하기.  (0) 2021.02.04

댓글