oracle 중복 제거 쿼리 방법은 다음과 같습니다.
oracle 데이터베이스 다중 필드 중복 제거
방법 소개: 고유 키워드, 그룹 기준, row_number()over(파티션 기준 열 순서 기준 열 설명)
me 요구 사항은 다음과 같습니다. : 특정 컬럼을 기준으로 중복제거 후 모든 정보를 조회합니다. 결국 저는 세 번째 방법을 선택했습니다.
내 생각: 중복 제거 쿼리를 구현하는 더 간단한 방법을 찾고 싶습니다. 직접적일수록 좋습니다.
테이블 구조 및 콘텐츠
1. 고유 키워드 뒤의 필드 조합은
테스트
결과에 따라 고유 ID를 선택해야 합니다. 테스트에서 고유 ID, 이름 선택
결과: ID와 이름의 조합을 기반으로 한 중복 제거(id || name과 유사)
2. 그룹별 중복 제거
ID, 테스트 그룹의 이름을 ID별로 선택 , name
결과: id에 따른 이름 조합 중복제거
3.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;
중복 제거 예: 중복 제거 기반 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 Tutorial위 내용은 Oracle에서 중복 쿼리를 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!