Newer Version Available
HAVING
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.
Similar to a WHERE clause, the HAVING clause supports all the comparison operators, such as =, in conditional expressions, which can contain multiple conditions using the logical AND, OR, and NOT operators.
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:
This example query returns accounts with duplicate names.
This example query is invalid as City is not included in the GROUP BY clause: