Filtering Groups with HAVING
WHERE filters individual rows BEFORE grouping. HAVING filters groups AFTER aggregation.
Syntax
SELECT column, AGGREGATE(other_column)
FROM table
GROUP BY column
HAVING condition_on_aggregate;
WHERE vs HAVING
| Clause | When it filters | What it filters |
|---|---|---|
| WHERE | Before grouping | Individual rows |
| HAVING | After grouping | Groups based on aggregate values |
Exercises
Loading exercise...
Loading exercise...
Loading exercise...
Loading exercise...
Loading exercise...
Complete Query Order
SELECT columns
FROM table
WHERE row_conditions
GROUP BY grouping_columns
HAVING group_conditions
ORDER BY sort_columns
LIMIT n;
Loading exercise...
Free Practice
Loading SQL editor...

