PERCENTILE_CONT 集約関数
PERCENTILE_CONT 関数は、指定されたソート方法で連続分布モデルを使用した場合の、指定されたパーセンタイルに対応する値を戻します。
スキーマは 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.