プライマリ・コンテンツに移動
Oracle® Big Data Discovery Cloud Service EQLリファレンス

E65371-04
目次へ
目次
索引へ移動
索引

前
次
機械翻訳について

COUNT関数

COUNT関数は、属性の値を持つレコードの数を返します。

GROUP BYの結果ごとに、フィールドにNULL以外の値を含むレコードの数がCOUNT関数によってカウントされます。 COUNTは、複数割当属性(セット)および単一割当属性の両方と同時に使用できます。

複数割当属性の場合、COUNT関数は、グループ内のすべてのNULL以外のセットをカウントします。 セットがNULLではないが空である場合があるため、COUNTでは、空のセットを持つレコードもカウントされます(つまり、指定された複数割当属性について割当がないレコードに対しては、空のセットが戻されます)。 結果から空のセットを無視する方法は、次の2番目の例を参照してください。

COUNT関数の構文は、次のとおりです:
COUNT(<attribute>)
「属性」は、複数割当または単一割当の属性です。

COUNT例

次のレコードには、単一割当てサイズ属性および複数割当て色属性が含まれます:
Record 1: Size=small, Color=red, Color=white 
Record 2: Size=small, Color=blue, Color=green 
Record 3: Size=small, Color=black 
Record 4: Size=small 
次の文は、色属性の値を持つサイズごとにレコード数を返します:
RETURN Result AS
SELECT COUNT(Color) AS Total
FROM ProductState
GROUP BY Size
文の結果は次のとおりです:
Record 1: Size=small, Total=4

すべてのレコードのサイズの値が同じであるため、グループは1つのみであり、レコードは1つのみです。 このグループの場合、レコード1-3には色割当があり(したがって、空でないセットを返す)、レコード4には色割当がない(空のセットが返される)ため、合計の値は4になります。

複数割当属性を持つCOUNTを使用している場合に、空のセットを除外するには、この例のように、IS NOT EMPTY関数を含む集計ごとのWHERE句を使用します:
RETURN result AS
SELECT COUNT(Color) WHERE (Color IS NOT EMPTY) AS Total
FROM ProductState
GROUP BY Size
文の結果は次のとおりです:
Record 1: Size=small, Total=3
レコード4の空のセットはカウントされないためです。

COUNT(1)形式

COUNT(1)構文では、特定のコレクション内のすべてのレコード(NULL値を含むレコードを含む)の件数が返されます。 たとえば、販売コレクション内のデータ・レコード数を次のように取得できます:
RETURN Results AS
SELECT COUNT(1) AS recordCount
FROM SalesState
GROUP

文の結果は、データ・レコードの合計数を表す整数である必要があります。