>  기사  >  데이터 베이스  >  MySQL에서 중복 데이터를 삭제하는 방법

MySQL에서 중복 데이터를 삭제하는 방법

(*-*)浩
(*-*)浩원래의
2019-05-07 16:22:5212729검색

중복 검사는 우리 작업에서 자주 접하게 되는 요구 사항입니다. 다음 기사에서는 MySQL이 중복 데이터를 쿼리하는(중복 데이터를 삭제하고 가장 작은 ID를 고유 데이터로 유지하는) 관련 정보를 주로 소개합니다. 기사에서는 모든 사람의 학습이나 업무에 확실한 참고자료이자 학습 가치가 있는 샘플 코드를 통해 자세히 소개합니다.

추천 강좌: MySQL 튜토리얼.

MySQL에서 중복 데이터를 삭제하는 방법

최근에 MySQL 데이터베이스에 일괄 데이터 가져오기 기능을 하고 있는데, 일괄 가져오기를 해보면 해당 데이터가 MySQL 데이터베이스에 삽입되지 않는 것을 알 수 있습니다. 데이터베이스에 삽입되기 전에 반복적인 판단이 수행되므로 모든 데이터를 가져온 후에야 데이터의 고유성을 보장하기 위해 명령문을 실행하여 삭제합니다.

할말은 없지만 자세한 소개를 살펴보겠습니다

테이블 구조는 아래와 같습니다.
# 🎜🎜#

테이블 이름: 브랜드

MySQL에서 중복 데이터를 삭제하는 방법

Operation

# 🎜 🎜#SQL 문을 사용하여 중복 데이터 쿼리:


SELECT * from brand WHERE brandName IN(
select brandName from brand GROUP BY brandName HAVING COUNT(brandName)>1 #条件是数量大于1的重复数据
)

SQL을 사용하여 중복된 중복 데이터를 삭제하고 ID를 최소로 유지 고유한 조각 데이터 수:

참고:

Error SQL: DELETE FROM Brand WHERE BrandName IN(브랜드 GROUP BY BrandName HAVING COUNT(brandName) >1에서 BrandName 선택) )
AND Id NOT IN (브랜드 GROUP BY BrandName HAVING COUNT(brandName)>1에서 MIN(Id) 선택)


팁: 할 수 있습니다. FROM 절에 업데이트 대상 테이블 'brand'를 지정하지 않았습니다. FROM 절에 업데이트 대상 테이블 'brand'를 지정할 수 없습니다.

이유는: 직접 조사하고 처리할 수 없는 데이터입니다. 데이터 삭제 조건으로 먼저 찾은 데이터로 임시 테이블을 만든 다음 임시 테이블을 함수 삭제 조건으로 사용해야 합니다.

正确SQL写法:
 DELETE FROM brand WHERE brandName IN 
 (SELECT brandName FROM (SELECT brandName FROM brand GROUP BY brandName HAVING COUNT(brandName)>1) e)
 AND Id NOT IN (SELECT Id FROM (SELECT MIN(Id) AS Id FROM brand GROUP BY brandName HAVING COUNT(brandName)>1) t)
#查询显示重复的数据都是显示最前面的几条,因此不需要查询是否最小值
#🎜🎜 #결과는 아래와 같습니다:

MySQL에서 중복 데이터를 삭제하는 방법요약:

# 🎜🎜#많은 것 스스로 단계별로 탐색해야 합니다. 물론 인터넷에 있는 제안도 매우 귀중한 참고 자료이자 리소스입니다. 어떤 개발을 하든 더 나은 결과를 얻으려면 작동 원리를 이해해야 합니다. 마스터하세요.


위 내용은 MySQL에서 중복 데이터를 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.