Oracle에서는 select 쿼리 문과 함께 count() 함수를 사용하여 반복된 데이터를 쿼리할 수 있습니다. 구문은 "count(userCode)>1인 userCode로 사용자 그룹에서 userCode를 선택합니다"입니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 11g 버전, Dell G3 컴퓨터.
1. 테이블에서 중복 레코드를 찾습니다. 단일 필드(userCode)를 기준으로 중복 레코드를 판단합니다.
select * from user where userCode in (select userCode from user group by userCode having count (userCode) > 1)
2. 테이블에서 중복 레코드를 삭제합니다. 단일 필드(userCode)를 기준으로 가장 작은 rowid를 가진 레코드만 남습니다
delete from user where userCode in (select userCode from user group by userCode having count (peopleId) > 1) and rowid not in (select min(rowid) from user group by userCode having count(userCode)>1)
3. 테이블에서 중복된 레코드(여러 필드)를 찾습니다
select * from user a where (a.userCode,a.userName) in (select userCode,userName from user group by userCode,userName having count(*) > 1)
4. ), 테이블에는 rowid가 가장 작은 레코드가 있습니다
delete from user a where (a.userCode,a.userName) in (select userCode,userName from user group by userCode,userName having count(*) > 1) and rowid not in (select min(rowid) from user group by userCode,userName having count(*)>1)
5. 조회 테이블의 중복된 중복 레코드(여러 필드)에는 rowid가 가장 작은 레코드가 포함되지 않습니다
select * from user a where (a.userCode,a.userName) in (select userCode,userName from user group by userCode,userName having count(*) > 1) and rowid not in (select min(rowid) from user group by userCode,userName having count(*)>1)
추천 튜토리얼: "Oracle 비디오 튜토리얼"
위 내용은 Oracle에서 중복 데이터를 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!