>  기사  >  데이터 베이스  >  mysql 중복 제거

mysql 중복 제거

王林
王林원래의
2023-05-23 12:24:0725288검색

MySQL은 대용량 데이터를 저장 및 관리할 수 있고 일련의 유연한 쿼리 및 작업 언어를 제공하는 일반적으로 사용되는 관계형 데이터베이스 관리 시스템입니다. MySQL을 적용하는 과정에서 데이터베이스에서 데이터를 가져와야 하는데 중복된 데이터가 쿼리 결과를 방해하므로 중복된 데이터를 제거해야 하는 상황에 자주 직면하게 됩니다. 이번 글에서는 중복 데이터를 제거하기 위한 MySQL의 방법과 활용 방법을 소개하겠습니다.

1. DISTINCT를 사용하여 중복 데이터 제거

MySQL에서 중복 데이터를 제거하는 가장 쉬운 방법은 DISTINCT 키워드를 사용하는 것입니다. DISTINCT는 테이블의 다양한 데이터 행을 쿼리하고 이를 단일 결과 집합으로 반환하는 데 사용됩니다. 중복된 데이터를 제거하려면 SELECT 문에서 DISTINCT 키워드를 사용하세요. 예를 들어, 직원의 이름과 부서가 포함된 "employees"라는 테이블이 있다고 가정합니다. 부서 목록을 쿼리하려면 다음 명령을 사용할 수 있습니다.

SELECT DISTINCT 부서 FROM 직원; 모든 고유한 "부서" 값입니다.

2. GROUP BY를 사용하여 중복 데이터 제거

중복 데이터를 제거하는 또 다른 방법은 GROUP BY 문을 사용하는 것입니다. GROUP BY는 하나 이상의 필드에 따라 결과를 그룹화할 수 있으며, 그룹화된 결과를 처리할 때 집계 함수를 사용하여 계산할 수 있습니다. GROUP BY 문에서 GROUP BY 절을 사용하여 그룹화 필드를 지정합니다. 예를 들어, 제품 이름, 주문 날짜 및 주문 수량을 포함하는 "orders"라는 테이블이 있다고 가정합니다. 각 제품 이름의 총 주문 수량을 쿼리하려면 다음 명령을 사용할 수 있습니다.

SELECT product_name, SUM(수량)

FROM 주문

GROUP BY product_name;

이 명령은 "제품_이름" 필드를 기준으로 그룹화하고 "수량" 필드의 데이터를 합산한 다음 모든 고유한 "제품_이름" 값과 해당 합계를 반환합니다. 주문 수량.

3. 특정 조건에서 중복 데이터를 제거하려면 HAVING 절을 사용하세요.

특정 조건이 충족되었을 때 중복 데이터를 제거해야 한다면 HAVING 절을 사용하면 됩니다. HAVING 키워드는 일반적으로 GROUP BY 문과 함께 사용되며, 이를 통해 그룹화된 결과를 필터링할 때 집계 함수를 사용할 수 있습니다. 예를 들어 직원의 이름, 부서 및 급여가 포함된 "employees"라는 테이블이 있다고 가정합니다. 급여가 5000보다 큰 직원의 부서를 쿼리하려면 다음 명령을 사용할 수 있습니다.

SELECT Department, AVG (급여)

FROM 직원

GROUP BY 부서
HAVING AVG(salary) > 5000;

이 명령은 "부서" 필드별로 그룹화하고 각 부서의 평균 급여를 계산하며 부서 이름과 평균 급여만 반환합니다. 평균 급여가 5000보다 큰 값입니다.

4. 중복 데이터를 제거하려면 셀프 조인을 사용하세요

어떤 경우에는 동일한 테이블에서 비교하고 필터링해야 할 경우 셀프 조인을 사용하면 됩니다. 셀프 조인은 동일한 테이블의 두 인스턴스를 조인하는 것을 의미하며 각 인스턴스는 별칭으로 표시되며 별칭을 지정하여 액세스됩니다. 예를 들어, 고객의 이름과 도시가 포함된 "customers"라는 테이블이 있다고 가정합니다. 동일한 도시에 있는 고객의 이름을 쿼리하려면 다음 명령을 사용할 수 있습니다.

SELECT DISTINCT a.customer_name, b.customer_name

FROM 고객 a, 고객 b

WHERE a.city=b.city AND a.customer_name <> b.customer_name;

이 명령은 동일한 도시에 있는 두 개의 서로 다른 고객 인스턴스를 비교하고 고객 이름의 중복 데이터를 제거합니다. 동일한 도시에 있는 고객 이름만 반환합니다.

간단히 말하면 MySQL에는 중복 데이터를 제거하는 방법이 여러 가지가 있습니다. 특정 요구 사항에 따라 가장 적절한 방법을 선택하면 쿼리 결과가 더 정확해지고 데이터 처리 효율성이 향상될 수 있습니다.

위 내용은 mysql 중복 제거의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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