この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

GROUP BY

SOQL クエリで GROUP BY オプションを使用すると、個々のクエリ結果の反復処理を避けることができます。つまり、多くのレコードを個別に処理する代わりにレコードのグループを指定します。

API バージョン 18.0 以降では、コードで個々のレコードを処理せずに、データを集計してクエリ結果をロールアップするために、GROUP BYSUM()MAX() などの集計関数と共に使用できます。構文は次のとおりです。

fieldGroupByList では、グループ化する項目のカンマ区切りのリストを指定します。SELECT 句の項目リストに集計関数が含まれている場合は、GROUP BY 句に集計関数以外のすべての項目を含める必要があります。

たとえば、GROUP BY を使用せずに、各 LeadSource 値に関連付けられているリードの数を調べるには、次のクエリを実行できます。

次に、クエリ結果を反復するコードを記述し、各 LeadSource 値のカウンタを増分します。GROUP BY を使用すると、追加のコードを記述せずに同じ結果を取得できます。次に例を示します。

SOQL でサポートされる集計関数の一覧は、「集計関数」を参照してください。

オブジェクトのすべての個別値 (null を含む) を照会するには、集計関数を使用せずに GROUP BY 句を使用できます。次のクエリは、LeadSource 項目に保存されている個別の値セットを返します。

COUNT_DISTINCT() 関数はクエリ条件に一致する、null 以外の個別の項目値の数を返します。