HAVING starts after ordinary rows are visible.
Base rows
HAVING begins with ordinary input rows before any group exists.
rows first
Show the rows
The pinned input has 6 rows.
input rows=6
HAVING examples are tiny finite group-filter transforms; SQL dialect completeness, optimizer behavior, indexing, and product claims are out of scope.
Read the pipeline
The render keeps base rows, grouping, aggregate facts, HAVING, and output in one place.
visible pipeline
Summary
The later group facts are recomputed from these exact rows.
facts from rows