Newer Version Available
Aggregate Functions
You can also use aggregate functions without using a GROUP BY clause. For example, you could use the AVG() aggregate function to find the average Amount for all your opportunities.
1SELECT AVG(Amount)
2FROM OpportunityHowever, these functions become a more powerful tool to generate reports when you use them with a GROUP BY clause. For example, you could find the average Amount for all your opportunities by campaign.
1SELECT CampaignId, AVG(Amount)
2FROM Opportunity
3GROUP BY CampaignIdThis table lists all the aggregate functions supported by SOQL.
| Aggregate Function | Description |
|---|---|
| AVG() |
Returns the average value of a numeric field.
For
example: |
| COUNT() and COUNT(fieldName) |
Returns the number of rows matching the query
criteria. For example using COUNT():For example using COUNT(fieldName): If you are using a GROUP BY clause, use COUNT(fieldName) instead of COUNT(). For more information, see COUNT() and COUNT(fieldName). |
| COUNT_DISTINCT() |
Returns the number of distinct
non-null field values
matching the query criteria. For
example: |
| MIN() |
Returns the minimum value of a field. For
example:If you use the MIN() or MAX() functions on a picklist field, the function uses the sort order of the picklist values instead of alphabetical order. |
| MAX() |
Returns the maximum value of a field. For
example:Available in API version 18.0 and later. |
| SUM() |
Returns the total sum of a numeric field. For
example: |
You can't use a LIMIT clause in a query that uses an aggregate function, but does not use a GROUP BY clause. For example, the following query is invalid:
1SELECT MAX(CreatedDate)
2FROM Account LIMIT 1