変更の始まり

PERCENTILE_DISC

PERCENTILE_DISC 関数は、離散分布モデルを使用して、ソート指定が与えられた指定されたパーセンタイルに該当する値を戻します。

構文図を読む構文図をスキップする
>>-PERCENTILE_DISC--(--percentile-expression--)--WITHIN GROUP--->

                                 .-ASC--.      
>--(--ORDER BY--sort-expression--+------+--)-------------------><
                                 '-DESC-'      

percentile-expression
関数による計算対象のパーセンタイルを指定します。 percentile-expression は任意の組み込み数値、文字ストリング、またはグラフィック・ストリングのデータ・タイプを戻す必要があります。 引数が文字ストリングまたはグラフィック・ストリングの場合、関数を評価する前に DECFLOAT(34) にキャストされます。 値の範囲は 0 から 1 までです。
WITHIN GROUP
パーセンタイルはグループ内の識別された行から計算されることを指定します。
sort-expression
パーセンタイルを計算する値の集合と、集合の順序を指定します。 sort-expression は、組み込み数値、文字ストリング、またはグラフィック・ストリングのデータ・タイプを戻す必要があります。
ASC
sort-expression による値を昇順で使用してパーセンタイルを計算することを指定します。
DESC
sort-expression による値を降順で使用してパーセンタイルを計算することを指定します。

結果は、sort-expression で識別された値の集合において、percentile-expression で指定されたパーセンタイルに該当する値です。 入力集合内の各値は、離散値として扱われます。 計算されるパーセンタイルは常に、入力集合で出現した値です。 結果のデータ・タイプは、sort-expression の結果のデータ・タイプと同じです。

PERCENTILE_DISC 関数を含むステートメントの実行時に *HEX 以外の照合順序が有効で、しかも sort-expression が SBCS データ、混合データ、または Unicode データの場合、結果は重み付けされた値の比較によって決まります。 この重み付けされた値は、sort-expression に該当の照合順序を適用することにより得られます。

この関数は、引数の値から NULL 値を除いた値の集合に対して適用されます。

結果が、NULL になることもあります。percentile-expression が NULL である場合、または空の集合に関数が適用された場合、結果は NULL 値になります。

注記

OLAP の指定で使用された場合は、window-partition-clause のみを指定できます。

  • 例 1: 部門 D11 に所属する従業員の離散値として、給与の中央値を計算します。
    SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY SALARY)
    FROM EMPLOYEE
    WHERE WORKDEPT = 'D11'
    結果は 24680.00 です。部門 D11 には、11 人の従業員がいます。 11 個の値のグループにおいて、中央の行は 6 行目です。 奇数個の行があるため、パーセンタイル 0.5 の PERCENTILE_DISC は、6 行目の値の 24680.00 を戻します。
  • 例 2: 部門 E21 に所属する従業員の離散値として、歩合給の中央値を計算します。
    SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY COMM)
    FROM EMPLOYEE
    WHERE WORKDEPT = 'E21'
    結果は 1907.00 です。 偶数個の行があるため、中央にある 2 つの行の中で最初の行 (これは値が 1907.00 である 3 行目です) を戻すことで PERCENTILE_DISC が計算されます。
変更の終わり