>  기사  >  데이터 베이스  >  mysql 쿼리 중복 레코드

mysql 쿼리 중복 레코드

王林
王林원래의
2023-05-23 10:46:0711906검색

MySQL은 강력한 데이터 쿼리 및 관리 기능을 갖춘 널리 사용되는 관계형 데이터베이스 관리 시스템입니다. MySQL을 사용하다 보면 중복 레코드를 쿼리해야 하는 상황이 자주 발생합니다. 이 기사에서는 MySQL에서 중복 레코드를 쿼리하는 방법을 소개합니다.

1. GROUP BY 문을 사용하여 중복 레코드를 쿼리합니다.

MySQL에서는 GROUP BY 문을 사용하여 중복 레코드를 쿼리할 수 있습니다. GROUP BY 문은 동일한 데이터를 그룹화하고 각 그룹에 대해 계산을 수행합니다. 계산 결과를 필터링하면 중복된 기록을 필터링할 수 있습니다.

예를 들어 테이블에서 중복된 이름과 이메일 주소를 쿼리하려는 경우 다음 SQL 문을 사용할 수 있습니다.

SELECT name, email, COUNT(*) 
FROM users 
GROUP BY name, email 
HAVING COUNT(*) > 1;

이 문은 GROUP BY 문을 사용하여 동일한 이름과 이메일 주소를 그룹화하고 각각의 개수를 계산합니다. 그룹. 집계 결과가 1보다 크면 중복 레코드입니다. 최종 쿼리 결과에는 이름, 이메일 주소 및 개수 값이 포함됩니다.

2. DISTINCT 키워드를 사용하여 중복 레코드를 쿼리하세요

GROUP BY 문을 사용하는 것 외에도 DISTINCT 키워드를 사용하여 중복 레코드를 쿼리할 수도 있습니다. DISTINCT 키워드는 중복 레코드를 제거하는 데 사용됩니다.

예를 들어 테이블에서 중복된 이메일 주소를 쿼리하려는 경우 다음 SQL 문을 사용할 수 있습니다.

SELECT DISTINCT email 
FROM users 
GROUP BY email 
HAVING COUNT(*) > 1;

이 문은 DISTINCT 키워드를 사용하여 중복된 이메일 주소를 제거한 다음 GROUP BY 문을 사용하여 그룹화합니다. 동일한 이메일 주소를 사용하고 각 그룹의 수를 계산합니다. 집계 결과가 1보다 크면 중복된 이메일 주소입니다. 최종 쿼리 결과에는 중복된 이메일 주소만 포함됩니다.

3. SELF JOIN 문을 사용하여 중복 레코드를 쿼리하세요

GROUP BY 문과 DISTINCT 키워드를 사용하는 것 외에도 SELF JOIN 문을 사용하여 중복 레코드를 쿼리할 수도 있습니다. SELF JOIN 문은 동일한 테이블의 레코드를 조인하는 데 사용됩니다.

예를 들어 테이블에서 중복된 이메일 주소를 쿼리하려는 경우 다음 SQL 문을 사용할 수 있습니다.

SELECT u1.email 
FROM users u1 
JOIN users u2 
ON u1.email = u2.email AND u1.id <> u2.id;

이 문은 SELF JOIN 문을 사용하여 동일한 테이블에서 동일한 이메일 주소를 가진 레코드를 조인합니다. u1.email = u2.email과 u1.ida8093152e673feb7aba1828c43532094 조건을 동시에 만족시키면 중복된 기록을 찾을 수 있습니다. 최종 쿼리 결과에는 중복된 이메일 주소만 포함됩니다.

위는 MySQL에서 중복 레코드를 쿼리하는 여러 가지 방법입니다. 각 방법에는 적용 가능한 상황이 있습니다. 실제 필요에 따라 적절한 쿼리 방법을 선택하세요.

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

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