変更の始まり

PERCENTILE_CONT

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

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

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

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

結果は、sort-expression で識別された値の集合において、percentile-expression で指定されたパーセンタイルに該当する値です。 値の集合は、連続分布として扱われます。 計算されるパーセンタイルは、入力集合にはなかった可能性がある補間値です。 sort-expression のデータ・タイプが DECFLOAT(n) である場合、関数の結果は DECFLOAT(34) です。 それ以外の場合、結果のデータ・タイプは、倍精度の浮動小数点数になります。

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

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

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

PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY sort-expression) を使用した場合の結果は、 MEDIAN(sort-expression) を指定した場合と同じになります。

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