SUM 集約関数

SUM 関数は、一連の数値の合計値を戻します。

構文図を読む構文図をスキップするSUM(ALLDISTINCTexpression)

スキーマは 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 に設定されます。