Aggregates are functions that combine multiple rows into a single value. Aggregates are different from scalar functions and window functions because they change the cardinality of the result. As such, aggregates can only be used in the
HAVING clauses of a SQL query.
DISTINCT clause is provided, only distinct values are considered in the computation of the aggregate. This is typically used in combination with the
COUNT aggregate to get the number of distinct elements; but it can be used together with any aggregate function in the system.