COUNT() および COUNT(fieldName)
クエリが返す行数を取得するには、集計関数 COUNT() を SOQL クエリの SELECT ステートメントで使用します。
COUNT() の構文には、次のいずれかの形式を使用します。
COUNT()
COUNT() は絞り込み条件に一致する行数を返します。
次に例を示します。
COUNT() の場合、QueryResult オブジェクトの size 項目は、クエリで取得された行数を返します。records 項目は null を返します。
COUNT() を使用するときは、次の点に注意してください。
- COUNT() は SELECT リストの唯一の要素であることが必要です。
- COUNT() が返す行数には、クエリの絞り込み条件に一致する null 値が含まれます。
- COUNT() と LIMIT 句を一緒に使用できます。
- COUNT() と ORDER BY 句は一緒に使用できません。代わりに COUNT(fieldName) を使用します。
- API バージョン 19.0 以降では、COUNT() と GROUP BY 句は一緒に使用できません。代わりに COUNT(fieldName) を使用します。
COUNT(fieldName)
COUNT(fieldName) は絞り込み条件に一致し、fieldName の値が null 以外の行数を返します。API バージョン 18.0 以降で使用できます。
次に例を示します。
COUNT(fieldName) の場合、records 項目の AggregateResult オブジェクトが行数を返します。size 項目にはこの数が反映されません。次に例を示します。
この数は AggregateResult オブジェクトの expr0 (集計項目の暗黙的別名) で返されます。詳細は、「GROUP BY での別名の使用」を参照してください。
COUNT() の代わりに COUNT(fieldName) を使用することには、利点があります。SELECT 句には複数の COUNT(fieldName) 項目を含めることができます。たとえば次のクエリは、商談の数およびキャンペーンに関連付けられている商談の数を返します。
GROUP BY 句と COUNT(fieldName) を一緒に使用して、レコードを分析し、サマリーレポート情報を返すことができます。たとえば、次のクエリは各 LeadSource の値のリード数を返します。