rank 순위 창 함수

적용 대상:check marked yes Databricks SQL check marked yes Databricks 런타임

파티션의 모든 값과 비교한 값의 순위를 반환합니다.

구문

rank()

인수

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

반환

INTEGER입니다.

창 함수의 OVER 절에는 ORDER BY 절이 포함되어야 합니다.

dense_rank 함수와 달리 순위는 순위 지정 시퀀스에 공백을 생성합니다. row_number와 달리 순위는 관계를 끊지 않습니다.

순서가 고유하지 않은 경우 중복 항목은 동일한 상대적 이전 위치를 공유합니다.

예제

> SELECT a,
         b,
         dense_rank() OVER(PARTITION BY a ORDER BY b),
         rank() OVER(PARTITION BY a ORDER BY b),
         row_number() OVER(PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   1   1   1
 A1 1   1   1   2
 A1 2   2   3   3
 A2 3   1   1   1