>데이터 베이스 >MySQL 튜토리얼 >mysql에서 중복 레코드를 제거하는 방법

mysql에서 중복 레코드를 제거하는 방법

藏色散人
藏色散人원래의
2023-02-16 09:56:113599검색

중복 레코드를 제거하는 Mysql 방법: 1. "statesign=0인 곳에서 고유한 이름 선택" 명령을 사용하여 중복된 레코드를 제거합니다. 2. "statesign=0인 곳에서 이름별로 이름 선택" 명령을 사용하여 제거합니다. 중복 기록.

mysql에서 중복 레코드를 제거하는 방법

이 튜토리얼의 운영 환경: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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