COUNT 集約関数
COUNT 関数は、行の集合または値の集合内にある行または値の数を戻します。
スキーマは SYSIBM です。
- expression
ALL が暗黙指定または明示的に指定されている場合、任意の組み込みデータ・タイプの値を戻す式です。 DISTINCT が指定される場合には、BLOB、CLOB、DBCLOB、または XML 以外の組み込みデータ・タイプの値を戻す式です。
関数の結果は、精度 31 および位取り 0 の 10 進数です。結果が NULL 値になることはありません。
COUNT(*) の引数は行の集合になります。 結果は、集合の行の数です。 NULL 値のみから成る行もカウントに組み入れられます。
COUNT(DISTINCT expression) の引数は、値の集合です。この関数は、引数の値から NULL 値と重複値を除いた値の集合に対して適用されます。 結果は、その集合の中の異なる非 NULL 値の数です。
COUNT(expression) または COUNT(ALL expression) の引数は、値の集合です。 この関数は、引数の値から NULL 値を除いて求めた値の集合に対して適用されます。 結果は、その集合の中の NULL でない値の数です (重複値も含む)。
例
- 例 1: EMPLOYEE 表を使用して、
SEX 列の値が F である行数をホスト変数 FEMALE(int) に設定します。
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 です。)
