PERCENTILE_DISC 集約関数
PERCENTILE_DISC 関数は、離散分布モデルに基づき、ソート指定に沿ったパーセンタイルに相当する値を戻します。
スキーマは 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
- ソート・キーは、列名か、列参照を含む式でなければなりません。 sort-key は、組み込み数値データ・タイプでなければなりません (SQLSTATE 42822)。sort-key で指定する単一列結果セットに 1 つ以上の NULL 値が含まれている場合、それらの NULL 値は処理の対象にならず、警告が戻されます (SQLSTATE 01003)。
- ASC
- sort-key を昇順で処理します。
- DESC
- sort-key を降順で処理します。
結果のデータ・タイプは、sort-key のデータ・タイプと同じです。
結果は NULL になる場合があります。percentile が NULL の場合や、sort-key で指定する単一列結果セットが空の場合、結果は NULL になります。
OLAP 仕様で使用する場合は、window-partition-clause だけを指定できます。
例
離散分布モデルに基づき、'E21' 部門の従業員の給与の 75 パーセンタイルに相当する値をホスト変数 PD に設定します。
SELECT PERCENTILE_DISC(0.75) WITHIN GROUP (ORDER BY SALARY)
INTO :PD FROM EMPLOYEE WHERE WORKDEPT = 'E21'PD が 45370.00 という値に設定されます。以下の結果セットが参照用に表示されます。
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.