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

集計関数

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

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

1SELECT AVG(Amount)
2FROM Opportunity

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

1SELECT CampaignId, AVG(Amount)
2FROM Opportunity
3GROUP BY CampaignId

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

すべての集計関数では、null 値が無視されます。ただし、COUNT()COUNT(Id) は除きます。

COUNT(fieldname) は、COUNT() とは異なります。COUNT(fieldname) では、null 値が無視されます。

メモ

集計関数 説明
AVG() 数値項目の平均値を返します。次に例を示します。
1SELECT CampaignId, AVG(Amount)
2FROM Opportunity
3GROUP BY CampaignId
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()COUNT(Id) は、SQL の COUNT(*) に相当します。

メモ

COUNT_DISTINCT() クエリ条件に一致する、null 以外の個別の項目値の数を返します。次に例を示します。
1SELECT COUNT_DISTINCT(Company)
2FROM Lead

SOQL の COUNT_DISTINCT(fieldName) は、SQL の COUNT(DISTINCT fieldName) に相当します。 

メモ

MIN() 項目の最小値を返します。次に例を示します。
1SELECT MIN(CreatedDate), FirstName, LastName
2FROM Contact
3GROUP BY FirstName, LastName

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

MAX() 項目の最大値を返します。次に例を示します。
1SELECT Name, MAX(BudgetedCost)
2FROM Campaign
3GROUP BY Name

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

SUM() 数値項目の合計を返します。次に例を示します。
1SELECT SUM(Amount)
2FROM Opportunity
3WHERE IsClosed = false AND Probability > 60

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

1SELECT MAX(CreatedDate)
2FROM Account LIMIT 1