GROUP BY does not follow SQL standard

From: "Tony Marston" <tony(at)NOSPAM(dot)demon(dot)co(dot)uk>
To: pgsql-general(at)postgresql(dot)org
Subject: GROUP BY does not follow SQL standard
Date: 2008-10-09 14:01:01
Message-ID: gcl2qq$140b$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

The Postgresql implementation of GROUP BY does not conform to either the
1999 or 2003 SQL standard. The documentation states that every field in the
SELECT list which is not aggregated must be specified in the GROUP BY
clause. While this was true in the 1992 standard, in 1999 this was changed
to "any non-aggregated column appearing in the SELECT list is functionally
dependent upon the GROUP BY clause". In the example both p.name and p.price
are functionally dependent on product_id, therefore there is no need for
them to be included in the GROUP BY clause.

In this respect Postgresql is wrong and MySQL is right.

--
Tony Marston
http://www.tonymarston.net
http://www.radicore.org

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Joao Ferreira gmail 2008-10-09 14:13:58 databases list to file
Previous Message c k 2008-10-09 13:23:42 logging SQL statements