집 >데이터 베이스 >MySQL 튜토리얼 >mysql에서 중복 레코드를 제거하는 방법
중복 레코드를 제거하는 Mysql 방법: 1. "statesign=0인 곳에서 고유한 이름 선택" 명령을 사용하여 중복된 레코드를 제거합니다. 2. "statesign=0인 곳에서 이름별로 이름 선택" 명령을 사용하여 제거합니다. 중복 기록.
이 튜토리얼의 운영 환경: Windows 10 시스템, MySQL 버전 5.7, Dell G3 컴퓨터.
mysql에서 중복 레코드를 제거하는 방법은 무엇입니까?
중복 레코드를 제거하는 mysql 쿼리
1: independent
select distinct name from a where statesign=0
를 사용하여 테이블 a의 이름 필드를 쿼리하고 중복 레코드를 제거합니다.
2: group by
select name from a where statesign=0 group by name
를 사용하여 테이블 a의 이름 필드를 쿼리합니다. 중복된 레코드를 제거합니다.
distinct는 사용될 때 첫 번째 위치에 배치되어야 합니다. 그렇지 않으면 오류가 보고됩니다.
관련 확장:
DISTINCT는 실제로 하나의 레코드만 사용된다는 점을 제외하면 GROUP BY 연산의 구현과 매우 유사합니다. GROUP BY 이후 각 그룹에서 아웃됩니다. 그게 전부입니다. 따라서 DISTINCT 구현과 GROUP BY 구현은 기본적으로 동일하며 큰 차이는 없습니다. 느슨한 인덱스 스캔이나 압축 인덱스 스캔을 통해서도 달성할 수 있습니다. 물론, 인덱스만으로는 DISTINCT를 완료할 수 없는 경우 MySQL은 임시 테이블을 통해서만 완료할 수 있습니다.
그러나 GROUP BY와 한 가지 차이점은 DISTINCT는 정렬할 필요가 없다는 것입니다. 즉, 단지 DISTINCT 작업인 쿼리가 인덱스만 사용하여 작업을 완료할 수 없는 경우 MySQL은 임시 테이블을 사용하여 데이터를 "캐시"하지만 임시 테이블의 데이터에 대한 파일 정렬 작업을 수행하지 않습니다.
물론 DISTINCT를 수행할 때 GROUP BY와 그룹도 사용하고 MAX와 같은 집계 함수 연산을 사용하면 파일 정렬을 피할 수 없습니다.
추천 학습: "MySQL 비디오 튜토리얼"
위 내용은 mysql에서 중복 레코드를 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!