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

Oracle에서 중복 쿼리를 제거하는 방법

hzc
hzc원래의
2020-06-09 09:53:4230720검색

Oracle에서 중복 쿼리를 제거하는 방법

oracle 중복 제거 쿼리 방법은 다음과 같습니다.

oracle 데이터베이스 다중 필드 중복 제거

방법 소개: 고유 키워드, 그룹 기준, row_number()over(파티션 기준 열 순서 기준 열 설명)

me 요구 사항은 다음과 같습니다. : 특정 컬럼을 기준으로 중복제거 후 모든 정보를 조회합니다. 결국 저는 세 번째 방법을 선택했습니다.

내 생각: 중복 제거 쿼리를 구현하는 더 간단한 방법을 찾고 싶습니다. 직접적일수록 좋습니다.

테이블 구조 및 콘텐츠

Oracle에서 중복 쿼리를 제거하는 방법

1. 고유 키워드 뒤의 필드 조합은

테스트

결과에 따라 고유 ID를 선택해야 합니다. 테스트에서 고유 ID, 이름 선택

결과: ID와 이름의 조합을 기반으로 한 중복 제거(id || name과 유사)

Oracle에서 중복 쿼리를 제거하는 방법2. 그룹별 중복 제거

ID, 테스트 그룹의 이름을 ID별로 선택 , name

결과: id에 따른 이름 조합 중복제거

20170523141826007 (1).png3.row_number ()over(partition by 열 order by 열 asc | desc) method

3.1 row_number() over(order by 열 asc) 먼저 열은 오름차순으로 정렬된 후 각 레코드에 대해 일련 번호가 반환됩니다

3.2 row_number() over(partition by column1 order by column2 asc) 먼저 열1을 기준으로 그룹화한 다음 그룹화된 데이터를 열2를 기준으로 오름차순으로 정렬합니다

참고: order by must have

example select a.*,row_number() over(partition by a.id,a.sex order by name) su from test a;

Oracle에서 중복 쿼리를 제거하는 방법중복 제거 예: 중복 제거 기반 id 및 sex

select id,name,sex from(

select a.*,row_number() over(partition by a.id,a.sex order by name) su from test a )

where su=1

결과:

Oracle에서 중복 쿼리를 제거하는 방법내 요구 사항은 특정 열을 기반으로 중복 제거 후 모든 정보를 쿼리하는 것입니다.

추천 튜토리얼: "

Oracle Tutorial

"

위 내용은 Oracle에서 중복 쿼리를 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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