.-ALL------. >>-COUNT--(--+-+----------+--expression-+--)------------------->< | '-DISTINCT-' | '-*------------------------'
スキーマは SYSIBM です。
COUNT 関数は、行の集合または値の集合内にある行または値の数を戻します。
DISTINCT が指定された場合、expression の結果データ・タイプは、BLOB、CLOB、DBCLOB、XML にすることはできません。また、これらのタイプの特殊タイプや構造化タイプにすることもできません (SQLSTATE 42907)。 そうでない場合、expression の結果データ・タイプはどのようなデータ・タイプにでもできます。
この関数の結果は長精度整数 (large integer) です。 結果が NULL 値になることはありません。
COUNT(*) の引数は行の集合になります。 結果は、集合の行の数です。 NULL 値のみから成る行もカウントに組み入れられます。
COUNT(DISTINCT expression) の引数は、値の集合です。この関数は、引数の値から NULL 値と重複値を除いた値の集合に対して適用されます。 結果は、その集合の中の異なる非 NULL 値の数です。
COUNT(expression) または COUNT(ALL expression) の引数は、値の集合です。 この関数は、引数の値から NULL 値を除いて求めた値の集合に対して適用されます。 結果は、その集合の中の NULL でない値の数です (重複値も含む)。
例:
SELECT COUNT(*)
INTO :FEMALE
FROM EMPLOYEE
WHERE SEX = 'F'
サンプル表を使用してこの例を実行すると、結果として FEMALE に 13 が設定されます。
SELECT COUNT(DISTINCT WORKDEPT)
INTO :FEMALE_IN_DEPT
FROM EMPLOYEE
WHERE SEX = 'F'
サンプル表を使用した場合、結果として FEMALE は 5 に設定されます。 (少なくとも 1 人の女性がいる部門は、A00、C01、D11、D21、および E11 です。)