https://www.postgresql.org/docs/14/sql-select.html GROUP BY [ ALL | DISTINCT ] grouping_element [, ...]
grouping_element can be one of:
( )
expression
( expression [, ...] )
ROLLUP ( { expression | ( expression [, ...] ) } [, ...] )
CUBE ( { expression | ( expression [, ...] ) } [, ...] )
GROUPING SETS ( grouping_element [, ...] )
You're right about COALESCE of course.