Re: SELECT, GROUP BY, and aggregates

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Ryan Delaney <ryan(dot)delaney(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: SELECT, GROUP BY, and aggregates
Date: 2015-02-13 18:13:02
Message-ID: 28493.1423851182@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Ryan Delaney <ryan(dot)delaney(at)gmail(dot)com> writes:
> Why couldn't an RDBMS such as postgres interpret a SELECT that omits the GROUP
> BY as implicitly grouping by all the columns that aren't part of an aggregate?

Per SQL standard, a SELECT with aggregates but no GROUP BY is supposed to
give exactly one row. What you suggest would not do that.

In general we're not that much into assigning made-up semantics to cases
that are specifically disallowed by the spec. It's usually not too
obvious what the result "should be", so we run the risk that the SQL
committee might someday make a contrary decision. More, this would lose
error detection, and reduce interoperability with other DBMSes that follow
the spec more faithfully.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2015-02-13 18:19:25 Re: Contrib build fault for pgdg postgres 9.2 at debian 6 (squeeze)
Previous Message Sergey Burladyan 2015-02-13 17:35:35 Contrib build fault for pgdg postgres 9.2 at debian 6 (squeeze)