集計関数

集計関数は、グループ内のすべての行で特定の操作を実行します。集計ファンクションは、単一行ではなく行のグループに基づいて1つの結果行を戻します。通常、SELECT文のGROUP BY句とともに使用され、戻される列はグループに分かれます。GROUP BY句を指定しないと、選択リストの集計関数が問合せ対象の表またはビューのすべての行に適用されます。

選択リストまたはHAVING句に集計関数を指定できます。詳細は、「SELECT」を参照してください。式の値は、WHERE句の条件を満たす各行を使用して計算されます。

単一の引数をとる多くの集計関数では、ALLキーワードまたはDISTINCTキーワードを使用できます。デフォルトは、ALLです。ALLまたはDISTINCTを使用できるかどうかについては、各集計関数の構文を参照してください。

  • DISTINCTを集計関数で指定すると、引数式の重複を排除した値のみが考慮されます。

  • ALLを集計関数で指定すると、重複を含むすべての値が考慮されます。

たとえば、1、1、1、3の平均値はDISTINCTでは2となります。これらの結果のALLの平均は、1.5になります。

GROUP BY句内のROLLUPおよびCUBE句は、列の値がNULL値で表される超集合行を生成します。超集合行はNULLで示されるため、NULL値および超集合結果を含む問合せ結果を区別することが困難な場合があります。さらに、戻された小計内で、指定された小計の正確な集計レベルをどのように探し出すかということも問題です。この問題を解決するには、GROUP_IDGROUPINGおよびGROUPING_ID関数を使用します。

次の項目の詳細は、「データ型」を参照してください。

  • 集計関数の評価において実行される切捨てとデータ型の変換。

  • 数値引数を含む集計関数の精度とスケール。

  • 集計関数の結果のデータ型の制御。

集計関数のリストは、次のとおりです。