Hello,
as you all may know, the GROUP BY clause in PostgreSQL has to be parameterized
with all fields that appear in the SELECT clause (except aggregates).
So
SELECT id, foo, sum(bar)
FROM table1
GROUP BY id, foo;
is perfectly valid, where
SELECT id, foo, sum(bar)
FROM table1
GROUP BY id;
would fail with something like '"foo" must appear in the GROUP BY clause or be
used in an aggregate function'.
I understand that behaviour in the case that the 'id' field wouldn't be a
primary (or unique) identifier of the table.
So my questions are
- Would it be possible to add a feature to PostgreSQL to allow grouping by
unique identifiers only?
- Is this requirement (all fields in GROUP BY) based on the SQL standard? If
yes, by which version?
Best
Oliver