PERCENTILE_CONT 集約関数

PERCENTILE_CONT 関数は、指定されたソート方法で連続分布モデルを使用した場合の、指定されたパーセンタイルに対応する値を戻します。

Read syntax diagramSkip visual syntax diagram PERCENTILE_CONT ( percentile ) WITHIN GROUP ( ORDER BY sort-key ASCDESC )

スキーマは SYSIBM です。

percentile (パーセンタイル)
パーセンタイルを指定する式。 この式は、数値、CHAR、または VARCHAR の組み込みデータ・タイプの値を戻す必要があります。 Unicode データベースでは、 式は GRAPHIC または VARGRAPHIC のデータ・タイプにすることもできます。 CHAR、VARCHAR、GRAPHIC、および VARGRAPHIC は、暗黙的キャストを介してサポートされます。 数値データ・タイプでない式は、関数の評価の前に DECFLOAT(34) にキャストされます。 この式は、定数、変数、または定数か変数のキャストでなければなりません (SQLSTATE 428I9)。 値は、0 から 1 の範囲でなければなりません (SQLSTATE 22003)。
WITHIN GROUP
集約するときに、グループ化集合の中の指定順序で配列されることを示します。
ORDER BY
集合内の処理対象の、同じグループ化集合に属する行の順序を指定します。
ソート・キー
ソート・キーは、列名か、列参照を含む式でなければなりません。 sort-key は、組み込み数値データ・タイプでなければなりません (SQLSTATE 42822)。 sort-key で指定する単一列結果セットに 1 つ以上の NULL 値が含まれている場合、それらの NULL 値は処理の対象にならず、警告が戻されます (SQLSTATE 01003)。
ASC
sort-key を昇順で処理します。
DESC
sort-key を降順で処理します。

sort-key のデータ・タイプが DECFLOAT(n) の場合、結果のデータ・タイプは DECFLOAT(34) になります。 それ以外の場合、結果のデータ・タイプは DOUBLE になります。

結果は NULL 値の場合もあります。 percentile が NULL の場合や、sort-key で指定する単一列結果セットが空の場合、結果は NULL になります。

OLAP 仕様で使用する場合は、window-partition-clause だけを指定できます。

連続分布モデルに基づき、ホスト変数 PC に、'E21' 部門の従業員の給与の 75 パーセンタイルに相当する値を設定します。
SELECT PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY SALARY) 
   INTO :PC FROM EMPLOYEE 
   WHERE WORKDEPT = 'E21'
PC が値 44987.50 に設定されます。
以下の結果セットが参照用に表示されます。
SELECT SALARY FROM EMPLOYEE WHERE WORKDEPT = 'E21' 
   ORDER BY SALARY

SALARY     
-----------
   31840.00
   35370.00
   39950.00
   43840.00
   45370.00
   86150.00

  6 record(s) selected.