In PostgreSQL 18, how many rows does SELECT g, count(*) FROM m WHERE false GROUP BY g; return, given that the WHERE clause removes every row?
Explanation
GROUP BY emits one row per group, and an empty input contains no groups, so the result set is empty. The contrast with the ungrouped case is what surprises people: drop the GROUP BY and the same empty input still yields exactly one row.