PERCENT_RANK 집계 함수
PERCENT_RANK 함수는 행 그룹에 가정적으로 삽입되는 행의 상대적 백분위수 순위를 리턴합니다.
스키마는 SYSIBM입니다.
- 표현식
- 행 그룹에 가정적으로 삽입되는 행을 지정하는 표현식입니다. 표현식은 내장 데이터 유형인 값을 리턴해야 합니다. 표현식은 상수 또는 변수이거나 상수 또는 변수의 캐스트여야 합니다(SQLSTATE 428I9).
- order-by-clause
- ORDER BY
- 집계에서 처리되는 동일한 그룹 세트의 행 순서를 지정합니다. 정렬 키
- 정렬 키는 컬럼 이름 또는 sort-key-expression일 수 있습니다. 정렬 키가 상수인 경우 출력 컬럼의 위치를 참조하지 않습니다. 일반 ORDER BY절의 상수와 달리 상수는 정렬 키를 의미하지 않습니다.
- ASC
- 오름차순 sort-key의 값을 사용합니다.
- DESC
- 내림차순 sort-key의 값을 사용합니다.
- NULLS FIRST
- 순서화에서는 정렬 순서에서 모든 널(NULL)이 아닌 값 앞에 널(NULL) 값을 고려합니다.
- NULLS LAST
- 순서화에서는 정렬 순서에서 모든 널(NULL)이 아닌 값 뒤에 널(NULL) 값을 고려합니다.
표현식 수는 sort-key 표현식 수와 동일해야 합니다(SQLSTATE 42822). 각 표현식의 데이터 유형과 해당 sort-key 표현식의 데이터 유형은 호환 가능해야 합니다(SQLSTATE 42822).
결과의 데이터 유형은 DECFLOAT(34)입니다. 실제 결과는 0.0보다 크고 1.0 이하여야 합니다.
예
호스트 변수 PR을 'A00' 부서에 속한 직원의 급여에서 47000의
가정적 새 직원 급여에 대한 상대적 백분위수 순위로
설정하십시오.
SELECT PERCENT_RANK(47000) WITHIN GROUP (ORDER BY SALARY)
INTO :PR FROM EMPLOYEE WHERE WORKDEPT = 'A00'PR은
값 0.4로 설정됩니다.다음 결과 세트는
참조용으로 표시됩니다.
SELECT SALARY FROM EMPLOYEE WHERE WORKDEPT = 'A00' ORDER BY SALARY
SALARY
-----------
39250.00
46500.00
49250.00
66500.00
152750.00
5 record(s) selected.