SUM 集約関数
SUM 関数は、一連の数値の合計値を戻します。
スキーマは SYSIBM です。
- expression
- 組み込み数値データ・タイプの値を戻す式。
結果のデータ・タイプは、入力式のデータ・タイプと同じです。ただし、以下の場合を除きます。
- 入力式のデータ・タイプが SMALLINT または INTEGER の場合、結果のデータ・タイプは BIGINT です。
- 入力式のデータ・タイプが単精度浮動小数点 (REAL) の場合は、結果のデータ・タイプは倍精度浮動小数点 (DOUBLE) です。
- 入力式のデータ・タイプが DECFLOAT(n) の場合、結果のデータ・タイプは DECFLOAT(34) です。
この関数は、引数の値から NULL 値を除いて求めた値の集合に対して適用されます。 DISTINCT を指定すると、重複する値も除去されます。 数値的に等しい 10 進浮動小数点値に関して DISTINCT 節を解釈するとき、値の中の有効数字桁数は考慮されません。 例えば、10 進浮動小数点数 123.00 が、10 進浮動小数点数 123 と区別されることはありません。 照会から戻される数の表記は、検出された表記のいずれかになります (例えば 123.00 か 123 のいずれか)。
結果は NULL になる場合があります。この関数が空のセットに適用されると、結果は NULL 値になります。 それ以外の場合、結果はそのセットの値の合計になります。
値が合計される順序は決まっていませんが、中間結果はすべて、 結果データ・タイプの範囲内になければなりません。
例
EMPLOYEE 表を使用して、
事務職員 (JOB='CLERK') に支払われるボーナス (BONUS) の総額をホスト変数 JOB_BONUS (decimal(9,2)) に設定します。
SELECT SUM(BONUS)
INTO :JOB_BONUS
FROM EMPLOYEE
WHERE JOB = 'CLERK' サンプル表を使用すると、結果として JOB_BONUS は 2800 に設定されます。
