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

集計関数

分析用のレポートを生成するには、SOQL クエリGROUP BYに集計関数を使用します。集計関数には、AVG()COUNT()MIN()MAX()SUM() などがあります。

集計関数は、GROUP BY 句を使用しなくても使用できます。たとえば、AVG() 集計関数を使用して、すべての商談の平均金額を調べることができます。

1swfobject.registerObject("clippy.sample_no_group_by", "9");SELECT AVG(Amount)
2FROM Opportunity

ただし、これらの関数は GROUP BY 句と共に使用すると、より強力なレポートを生成するツールとなります。たとえば、キャンペーンごとにすべての商談の平均[金額]を調べることができます。

1swfobject.registerObject("clippy.avg_group_by_cmp", "9");SELECT CampaignId, AVG(Amount)
2FROM Opportunity
3GROUP BY CampaignId

SOQL でサポートされるすべての集計関数を次の表に示します。

集計関数 説明
AVG() 数値項目の平均値を返します。次に例を示します。
1swfobject.registerObject("clippy.codeblock-2", "9");SELECT CampaignId, AVG(Amount)
2FROM Opportunity
3GROUP BY CampaignId

API バージョン 18.0 以降で利用できます。

COUNT() および COUNT(fieldName) クエリ条件に一致する行数を返します。COUNT() を使用した例:
1SELECT COUNT()
2FROM Account
3WHERE Name LIKE 'a%'

COUNT(fieldName) を使用した例:

1SELECT COUNT(Id)
2FROM Account
3WHERE Name LIKE 'a%'

SOQL の COUNT(Id) は、SQL の COUNT(*) に相当します。

メモ

COUNT(fieldName) 構文は、API バージョン 18.0 以降で使用できます。GROUP BY 句を使用している場合は、COUNT() の代わりに COUNT(fieldName) を使用します。詳細は、COUNT() および COUNT(fieldName)を参照してください。

COUNT_DISTINCT() クエリ条件に一致する、null 以外の個別の項目値の数を返します。次に例を示します。
1swfobject.registerObject("clippy.count_distinct_sample", "9");SELECT COUNT_DISTINCT(Company)
2FROM Lead
3

SOQL の COUNT_DISTINCT(fieldName) は、SQL の COUNT(DISTINCT fieldName) に相当します。オブジェクトのすべての個別値 (null を含む) をクエリするには、GROUP BYを参照してください。

メモ

API バージョン 18.0 以降で利用できます。

MIN() 項目の最小値を返します。次に例を示します。
1swfobject.registerObject("clippy.min_sample", "9");SELECT MIN(CreatedDate), FirstName, LastName
2FROM Contact
3GROUP BY FirstName, LastName

選択リスト項目で MIN() または MAX() 関数を使用すると、アルファベット順の代わりに、選択リスト値の並び替え順が使用されます。

API バージョン 18.0 以降で利用できます。

MAX() 項目の最大値を返します。次に例を示します。
1swfobject.registerObject("clippy.max_sample", "9");SELECT Name, MAX(BudgetedCost)
2FROM Campaign
3GROUP BY Name

API バージョン 18.0 以降で利用できます。

SUM() 数値項目の合計を返します。次に例を示します。
1swfobject.registerObject("clippy.sum_sample", "9");SELECT SUM(Amount)
2FROM Opportunity
3WHERE IsClosed = false AND Probability > 60

API バージョン 18.0 以降で利用できます。

集計関数を使用して GROUP BY 句を使用しないクエリでは LIMIT 句を使用できません。たとえば、次のクエリは無効です。

1swfobject.registerObject("clippy.codeblock-9", "9");SELECT MAX(CreatedDate)
2FROM Account LIMIT 1