The HAVING clause is used to filter output records.
HAVING clause with any Boolean expression, such as:
{= , <>, <, <=, >, >=}<attribute> IS {NULL, NOT NULL, EMPTY, NOT EMPTY}SUBSET and IS_MEMBER_OF<attribute-list> IN <source-statement>RETURN Reps AS SELECT SUM(Amount) AS SalesTotal FROM SaleState GROUP BY SalesRep HAVING SalesTotal > 10000
HAVING clauses may refer only to attributes defined in the same statement (such as aliased attributes defined by a SELECT clause). For example, this is an invalid statement:
// Invalid because "Price" is not defined in the statement (i.e., Price is a collection attribute). Return results AS SELECT SUM(Price) AS TotalPrices FROM SaleState GROUP BY WineType HAVING Price > 100
In statement "results": In HAVING clause: Local statement attribute "Price" is not in scope
// Valid because "TotalPrices" is defined in the statement. Return results AS SELECT SUM(Price) AS TotalPrices FROM SaleState GROUP BY WineType HAVING TotalPrices > 100