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

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to