PERCENT_RANK 집계 함수

PERCENT_RANK 함수는 행 그룹에 가정적으로 삽입되는 행의 상대적 백분위수 순위를 리턴합니다.

Read syntax diagramSkip visual syntax diagram PERCENT_RANK ( ,expression ) WITHIN GROUP ( order-by-clause )
order-by-clause
Read syntax diagramSkip visual syntax diagram ORDER BY ,sort-keyasc-optiondesc-option
asc-option
Read syntax diagramSkip visual syntax diagram ASC NULLS LASTNULLS FIRST
desc-option
Read syntax diagramSkip visual syntax diagram DESC NULLS FIRSTNULLS LAST

스키마는 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.