다음을 통해 공유


percent_rank 순위 창 함수

적용 대상: 예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime

파티션 내 값의 백분율 순위를 계산합니다.

구문

percent_rank()

인수

이 함수에는 인수가 필요하지 않습니다.

반품

DOUBLE입니다.

함수는 창 내의 순위에서 1을 뺀 값을 창 내의 행 수에서 1을 뺀 값으로 나눈 값으로 정의됩니다. 창에 행이 하나뿐이면 순위는 0입니다.

표현으로 의미 체계는 다음과 같이 표현될 수 있습니다.

nvl((rank() OVER(PARTITION BY p ORDER BY o) - 1) / nullif(count(1) OVER(PARTITION BY p) -1), 0), 0)

이 함수는 유사하지만 cume_dist 분석 창 함수와 다릅니다.

창 사양에 ORDER BY 절을 포함해야 합니다.

예제

> SELECT a, b, percent_rank(b) OVER (PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A1', 3), ('A1', 6), ('A1', 7), ('A1', 7), ('A2', 3), ('A1', 1) tab(a, b)
 A1 1  0.0
 A1 1  0.0
 A1 2  0.3333333333333333
 A1 3  0.5
 A1 6  0.6666666666666666
 A1 7  0.8333333333333334
 A1 7  0.8333333333333334
 A2 3  0.0