集計
EQLでは、集計操作によってレコードのセットがまとめて取り出されて、集計レコードからなる結果セットが作成されます。
GROUP句/GROUP BY句
GROUP
句および
GROUP BY
句では、文の出力をグルーピングするためにソース・レコードをどのように結果レコードにマッピングするかを指定します。
GROUPING SETS式
GROUPING SETS
式を使用すると、
GROUP BY
句の中で作成するグループのセットを選択して指定できます。
ROLLUP拡張
ROLLUP
は、
GROUP BY
に対する拡張の1つであり、指定された属性グループの複数レベルの小計を計算できます。総計も計算できます。
CUBE拡張
CUBE
は、指定された属性セットから、考えられるすべての組合せについて小計を作成します。
グルーピング・セットのヘルパー関数
グルーピング機能を使用する問合せのための3つのヘルパー関数があります。
グルーピングの動作に関する注意
このトピックでは、EQLのグルーピング動作のうち、注意が必要なものについて説明します。
COUNT関数とCOUNTDISTINCT関数
COUNT
関数は、特定の属性の値を持つレコードの数を返します。
COUNTDISTINCT
は、特定の属性の、重複を除いた値の数を数えます。
複数レベル集計
EQLでは、複数レベル集計を実行できます。
集計ごとのフィルタ
各集計に固有の、フィルタリング用の
WHERE
句を指定できます。集計関数フィルタは、集計式の入力をフィルタリングします。これが役に立つのは、スパースまたは異種混在のデータを扱うときです。レコードのうち、フィルタ条件を満たすもののみが集計関数の計算に使用されます。
1つの属性に対して複数の値を持つレコードの扱い
コーパス・レコードの場合は、属性の1つのレコードで複数の値が許容されることがあります(結果レコードでは、このようなことはありません)。