PERCENT_RANK 集約関数
PERCENT_RANK 関数は、ある行を行の集合に挿入すると仮定して、その行の相対的なパーセンタイル・ランクを戻します。
スキーマは SYSIBM です。
- expression
- 行の集合に仮定的に挿入する行を指定する式。式は組み込みデータ・タイプの値を戻す必要があります。この式は、定数、変数、または定数か変数のキャストでなければなりません (SQLSTATE 428I9)。
- order-by-clause
-
- ORDER BY
- 集合内の処理対象の、同じグループ化集合に属する行の順序を指定します。
- sort-key
- ソート・キーは、列名または sort-key-expression のどちらでも構いません。 ソート・キーとして定数を指定しても、それは出力列の位置を指すわけではありません。定数を指定すると、通常の ORDER BY 節の定数とは異なり、ソート・キーがないことを意味します。
- ASC
- sort-key の値を昇順で使用します。
- DESC
- sort-key の値を降順で使用します。
- NULLS FIRST
- 配列において、ソート順序は、すべての非 NULL 値の前に NULL 値が置かれます。
- NULLS LAST
- 配列において、ソート順序は、すべての非 NULL 値の後に NULL 値が置かれます。
式の数は、sort-key 式の数と同じでなければなりません (SQLSTATE 42822)。各式のデータ・タイプと各式に対応する sort-key 式のデータ・タイプの間には互換性がなければなりません (SQLSTATE 42822)。
結果のデータ・タイプは DECFLOAT(34) です。実際の結果は、0.0 より大きく、1.0 以下でなければなりません。
例
'A00' 部門の従業員の給与において、新しい従業員の仮の給与 47000 の相対的なパーセンタイル・ランクをホスト変数 PR に設定します。
SELECT PERCENT_RANK(47000) WITHIN GROUP (ORDER BY SALARY)
INTO :PR FROM EMPLOYEE WHERE WORKDEPT = 'A00'PR には値 0.4 が設定されます。以下の結果セットが参照用に表示されます。
SELECT SALARY FROM EMPLOYEE WHERE WORKDEPT = 'A00' ORDER BY SALARY
SALARY
-----------
39250.00
46500.00
49250.00
66500.00
152750.00
5 record(s) selected.