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