Newer Version Available
HAVING
With API version 18.0 and later, you can use a HAVING clause with a GROUP BY clause to filter the results returned by aggregate functions, such as SUM(). The HAVING clause is similar to a WHERE clause. The difference is that you can include aggregate functions in a HAVING clause, but not in a WHERE clause. The syntax is:
havingConditionExpression specifies one or more conditional expressions using aggregate functions to filter the query results.
For example, you can use a GROUP BY clause to determine how many leads are associated with each LeadSource value with the following query:
However, if you are only interested in LeadSource values that have generated more than 100 leads, you can filter the results by using a HAVING clause. For example:
The next query returns accounts with duplicate names:
For a list of aggregate functions supported by SOQL, see Aggregate Functions.