RANK
설명
RANK
그룹의 각 행에 순위 번호를 지정하는 데 사용되는 윈도우 집계 함수입니다. 여러 행의 순위 값이 동일한 경우(동점인 경우) Workday는 동일한 순위 값을 동점인 행에 지정하고 후속 순위 위치를 건너뜁니다.다음
PARTITION BY
절은 입력 행 세트를 그룹으로 분할하는 데 사용할 필드를 결정합니다.다음
ORDER BY
절은 순위를 매기기 전에 파티션의 행을 정렬하는 방법을 결정합니다. Workday는 분할 필드에 따라 입력 행을 그룹화하고, 순서 필드에 따라 행을 정렬한 다음, 각 그룹에서 집계 표현식(이 함수의 순위)을 계산합니다. 각 그룹의 순위가 지정된 행은 1에서 시작합니다.
구문
RANK()OVER(PARTITION BYpartitioning_field[,partitioning_field]ORDER BYordering_field[ASC | DESC] [,ordering_field[ASC | DESC]] )
반환 값
유형의 값을 반환합니다.
Integer
.입력 매개변수
- OVER()
- 필수입니다.OVER기간 내에 사용해야 합니다.RANK표현식
- PARTITIONBYpartitioning_field
- 필수 콘텐츠 다음을 사용합니다.PARTITION BY절을 사용하여 입력 행 그룹을 분할하는 데 사용할 하나 이상의 필드를 지정합니다. 통화를 제외한 모든 필드 유형을 지정할 수 있습니다. 예: 월 필드를 파티셔닝 필드로 지정하면 Workday가 월 값이 동일한 모든 레코드를 단일 파티션으로 그룹화합니다.
- ORDER BYorder_field
- 필수 콘텐츠 다음을 사용합니다.ORDER BY절을 사용하여 각 파티션 내에서 지정된 필드의 값을 사용하여 파티션의 입력 행을 정렬하는 방법을 지정합니다. 통화를 제외한 모든 필드 유형을 지정할 수 있습니다.다음을 사용할 수 있습니다.DESC또는ASC키워드를 사용하여 각 순서 지정 필드에 대해 내림차순(높은 값에서 낮은 값, NULL이 마지막에 표시) 또는 오름차순(낮은 값부터 높은 값, NULL이 먼저 표시)으로 정렬합니다. 순서 필드의 정렬 순서를 지정하지 않으면 Workday가 자동으로 행을 오름차순으로 정렬합니다.
예
예를 들어 다음과 같은 행과 필드가 포함된 데이터세트가 있습니다.
직원 | 판매일 | 영업 |
|---|---|---|
고어 | 12/31/2018 | 140 |
고어 | 11/30/2018 | 60 |
고어 | 10/31/2018 | 140 |
Freeman | 12/31/2018 | 160 |
Freeman | 11/30/2018 | 60 |
Freeman | 10/31/2018 | 110 |
Smith | 12/31/2018 | 140 |
Smith | 11/30/2018 | 60 |
Smith | 10/31/2018 | 120 |
각 직원의 매출 순위를 내림차순으로 지정할 수 있으므로 가장 높은 매출에 1의 순위가 부여됩니다.
직원별 순위 매출
필드에서 다음 표현식을 사용합니다.RANK() OVER( PARTITION BY [Employee] ORDER BY [Sales] DESC)
다음과 같은 결과가 표시됩니다.
직원 | 판매일 | 영업 | 직원별 매출 순위 |
|---|---|---|---|
고어 | 12/31/2018 | 140 | 0 |
고어 | 10/31/2018 | 140 | 0 |
고어 | 11/30/2018 | 60 | 3 |
Freeman | 12/31/2018 | 160 | 0 |
Freeman | 10/31/2018 | 110 | 2 |
Freeman | 11/30/2018 | 60 | 3 |
Smith | 12/31/2018 | 140 | 0 |
Smith | 10/31/2018 | 120 | 2 |
Smith | 11/30/2018 | 60 | 3 |
또한 내림차순으로 각 날짜의 매출 순위를 지정할 수 있으므로 가장 높은 매출에 1의 순위가 지정됩니다.
날짜별 순위 매출
필드에서 다음 표현식을 사용합니다.RANK() OVER( PARTITION BY [Sales Date] ORDER BY [Sales] DESC)
다음과 같은 결과가 표시됩니다.
직원 | 판매일 | 영업 | 날짜별 매출 순위 |
|---|---|---|---|
Freeman | 12/31/2018 | 160 | 0 |
고어 | 12/31/2018 | 140 | 2 |
Smith | 12/31/2018 | 140 | 2 |
고어 | 11/30/2018 | 60 | 0 |
Freeman | 11/30/2018 | 60 | 0 |
Smith | 11/30/2018 | 60 | 0 |
고어 | 10/31/2018 | 140 | 0 |
Smith | 10/31/2018 | 120 | 2 |
Freeman | 10/31/2018 | 110 | 3 |
동점인 값에는 동일한 순위 번호가 지정되며 다음 순위 위치는 건너뜁니다.