mysql에서는 count() 함수를 사용하여 반복되는 필드를 쿼리할 수 있습니다. 이 함수는 지정된 조건의 결과를 반환할 수 있습니다. 구문은 "count>를 갖는 count FROM 테이블 이름 GROUP BY 필드 값으로 필드 값 COUNT(*)입니다. ;1;
이 튜토리얼의 운영 환경: windows10 시스템, mysql8.0.22 버전, Dell G3 컴퓨터.
mysql에서 중복 필드를 쿼리하는 방법
예 accountinfo 테이블 데이터는 다음과 같습니다.
시나리오 1 단일 필드 중복 데이터 검색 및 중복 제거
단일 필드 계정에 동일한 데이터가 필요합니다. 위 표의 필드를 알아보세요.
아이디어는 세 단계로 나누어집니다. 간략한 설명:
첫 번째 단계
중복 데이터를 찾기 위해 가장 먼저 생각하는 것은 중복이므로 숫자가 1보다 크다는 것입니다. 중복. 카운트 기능이군요.
확인하려는 항목은 단일 필드 계정이므로 계정 필드 차원에 따라 그룹화해야 합니다. 그것이 기능별 그룹입니다.
그러면 첫 번째 단계에서 작성한 mysql 문은 다음과 같습니다.
SELECT account ,COUNT(account) as count FROM accountinfo GROUP BY account;
쿼리 결과는 다음과 같습니다.
2단계
예, 생각한 대로 개수가 1보다 크면 계정은 다음과 같습니다. A 및 B 데이터.
그럼 조금 필터링해서 개수가 1보다 큰 데이터의 계정만 알아봅시다.
두 번째 단계는 필터 조건을 붙여서 사용하는 것이고 작성된 mysql 문은 다음과 같습니다.
SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1;
쿼리 결과는 다음과 같습니다.
세 번째 단계
중복된 계정 데이터 A B 가 발견되었습니다. 그런 다음 계정 A와 B를 함께 사용하여 다른 데이터를 쿼리해야 합니다.
두 번째 단계에서 찾은 데이터를 서브 쿼리 조건으로 사용하고 IN 함수를 사용하는 것입니다.
3단계에서 작성한 mysql문은
SELECT * FROM accountinfo WHERE account IN ( SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1 );
쿼리 결과는 다음과 같습니다.
중복된 데이터는 저희가 필터링한 것을 보실 수 있습니다.
추천 학습: mysql 비디오 튜토리얼
위 내용은 mysql에서 중복 필드를 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!