> 데이터 베이스 > Oracle > Oracle에서 중복 데이터를 쿼리하는 방법

Oracle에서 중복 데이터를 쿼리하는 방법

WBOY
풀어 주다: 2022-02-28 11:14:44
원래의
39597명이 탐색했습니다.

Oracle에서는 select 쿼리 문과 함께 count() 함수를 사용하여 반복된 데이터를 쿼리할 수 있습니다. 구문은 "count(userCode)>1인 userCode로 사용자 그룹에서 userCode를 선택합니다"입니다.

Oracle에서 중복 데이터를 쿼리하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

oracle에서 중복 데이터를 쿼리하는 방법

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿