DENSE_RANK 창 함수 - AWS Clean Rooms

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

DENSE_RANK 창 함수

DENSE_RANK 창 함수는 OVER 절의 ORDER BY 표현식을 기반으로 값 그룹의 값 순위를 결정합니다. 선택적 PARTITION BY 절이 있는 경우 각 행 그룹에 대해 순위가 재설정됩니다. 순위 기준 값이 같은 행은 순위도 동일하게 결정됩니다. DENSE_RANK 함수는 RANK 한 측면에서와 다릅니다. 두 개 이상의 행이 묶이면 순위가 매겨진 값의 시퀀스에 차이가 없습니다. 예를 들어 두 행의 순위가 1로 결정되면 다음 순위는 2입니다.

동일한 쿼리에서 BY 및 PARTITION BY ORDER 절이 다른 순위 함수를 사용할 수 있습니다.

구문

DENSE_RANK () OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list ] )

인수

( )

함수에 인수가 없지만 빈 괄호가 필요합니다.

OVER

DENSE_RANK 함수의 창 절입니다.

PARTITION expr_list

선택 사항. 창을 정의하는 하나 이상의 표현식입니다.

ORDER 주문별_목록

선택 사항. 순위 값의 기준이 되는 표현식입니다. PARTITION BY가 지정되지 않은 경우 ORDER BY는 전체 테이블을 사용합니다. ORDER BY가 생략된 경우 반환 값은 모든 행에 대해 1입니다.

ORDER BY가 고유한 순서를 생성하지 않는 경우 행의 순서는 결정적이지 않습니다. 자세한 내용은 창 함수 데이터에 대한 고유 순서 지정 단원을 참조하십시오.

반환 타입

INTEGER

예시

다음 예에서는 판매 수량(내림차순)으로 테이블을 정렬하고 각 행에 밀집 순위와 정규 순위를 모두 할당합니다. 결과는 창 함수 결과를 적용한 후에 정렬됩니다.

select salesid, qty, dense_rank() over(order by qty desc) as d_rnk, rank() over(order by qty desc) as rnk from winsales order by 2,1; salesid | qty | d_rnk | rnk ---------+-----+-------+----- 10001 | 10 | 5 | 8 10006 | 10 | 5 | 8 30001 | 10 | 5 | 8 40005 | 10 | 5 | 8 30003 | 15 | 4 | 7 20001 | 20 | 3 | 4 20002 | 20 | 3 | 4 30004 | 20 | 3 | 4 10005 | 30 | 2 | 2 30007 | 30 | 2 | 2 40001 | 40 | 1 | 1 (11 rows)

동일한 쿼리에서 DENSE_RANK 및 RANK 함수를 나란히 사용할 때 동일한 행 집합에 할당된 순위의 차이를 확인합니다. WINSALES 테이블에 대한 설명은 창 함수 예제를 위한 샘플 테이블 섹션을 참조하세요.

다음 예제에서는 테이블을 로 분할SELLERID하고 각 파티션을 수량(내림차순)으로 정렬하고 각 행에 밀집 순위를 할당합니다. 결과는 창 함수 결과를 적용한 후에 정렬됩니다.

select salesid, sellerid, qty, dense_rank() over(partition by sellerid order by qty desc) as d_rnk from winsales order by 2,3,1; salesid | sellerid | qty | d_rnk ---------+----------+-----+------- 10001 | 1 | 10 | 2 10006 | 1 | 10 | 2 10005 | 1 | 30 | 1 20001 | 2 | 20 | 1 20002 | 2 | 20 | 1 30001 | 3 | 10 | 4 30003 | 3 | 15 | 3 30004 | 3 | 20 | 2 30007 | 3 | 30 | 1 40005 | 4 | 10 | 2 40001 | 4 | 40 | 1 (11 rows)

WINSALES 테이블에 대한 설명은 창 함수 예제를 위한 샘플 테이블 섹션을 참조하세요.