COUNT 集約関数
COUNT 関数は、行の集合または値の集合内にある行または値の数を戻します。
注: 関数の結果は、 large_aggregation 構成パラメーターの有効化の影響を受ける可能性があります。
スキーマは SYSIBM です。
- expression
ALL が暗黙指定または明示的に指定されている場合、任意の組み込みデータ・タイプの値を戻す式です。 DISTINCT が指定されている場合に、 BLOB、CLOB、DBCLOB、または XML を除く任意の組み込みデータ・タイプの値を戻す式。
この関数の結果は長精度整数 (large integer) です。 結果が NULL 値になることはありません。
COUNT(*) の引数は行の集合になります。 結果は、集合の行の数です。 NULL 値のみから成る行もカウントに組み入れられます。
COUNT(DISTINCT expression) の引数は、値の集合です。 この関数は、引数の値から NULL 値と重複値を除いた値の集合に対して適用されます。 結果は、その集合の中の異なる非 NULL 値の数です。
COUNT(expression) または COUNT(ALL expression) の引数は、値の集合です。 この関数は、引数の値から NULL 値を除いて求めた値の集合に対して適用されます。 結果は、その集合の中の NULL でない値の数です (重複値も含む)。
例
- 例 1: EMPLOYEE 表を使用して、ホスト変数女神 (int) を、SEX 列の値が 'F' である行の数に設定します。
SELECT COUNT(*) INTO :FEMALE FROM EMPLOYEE WHERE SEX = 'F'
サンプル表を使用してこの例を実行すると、結果として FEMALE に 13 が設定されます。
- 例 2: EMPLOYEE 表を使用して、メンバーとして少なくとも 1 人の女性を持つ部門 (WORKDEPT) の数をホスト変数 FEMALE_IN_DEPT (int) に設定します。
SELECT COUNT(DISTINCT WORKDEPT) INTO :FEMALE_IN_DEPT FROM EMPLOYEE WHERE SEX = 'F'
サンプル表を使用した場合、結果として FEMALE は 5 に設定されます。 (少なくとも 1 人の女性がいる部門は、A00、C01、D11、D21、および E11 です。)