집 >데이터 베이스 >MySQL 튜토리얼 >DISTINCT를 사용하지 않고 데이터베이스 테이블에서 중복된 이메일 주소를 어떻게 찾을 수 있습니까?
DITINCT 없이 열 값에서 중복 식별
데이터베이스에서 특정 열의 값이 반복되는 행을 식별해야 할 수도 있습니다. 고유한 값만 검색하는 DISTINCT 키워드와 달리 현재 작업에서는 열 값의 구별성이 부족한 모든 행을 선택해야 합니다.
이 요구 사항을 해결하는 한 가지 접근 방식은 WHERE 절 내에서 하위 쿼리를 사용하는 것입니다. 다음 쿼리는 이 기술을 보여줍니다.
SELECT [EmailAddress], [CustomerName] FROM [Customers] WHERE [EmailAddress] IN (SELECT [EmailAddress] FROM [Customers] GROUP BY [EmailAddress] HAVING COUNT(*) > 1)
이 쿼리는 둘 이상의 인스턴스가 있는 그룹에서 'EmailAddress' 값이 존재하는 'Customers' 테이블의 모든 행을 검색합니다. 외부 쿼리의 'EmailAddress' 값을 하위 쿼리의 값과 비교하여 고유한 값을 효과적으로 필터링합니다.
제공된 샘플 데이터의 경우 위 쿼리는 원하는 결과를 생성합니다.
CustomerName | EmailAddress |
---|---|
Aaron | [email protected] |
Christy | [email protected] |
John | [email protected] |
위 내용은 DISTINCT를 사용하지 않고 데이터베이스 테이블에서 중복된 이메일 주소를 어떻게 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!