Skip site navigation (1) Skip section navigation (2)

Re: sql

From: "Andrew J(dot) Kopciuch" <akopciuch(at)bddf(dot)ca>
To: Mike Rylander <mrylander(at)gmail(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: sql
Date: 2004-10-25 11:44:06
Message-ID: 200410250544.06403.akopciuch@bddf.ca (view raw or flat)
Thread:
Lists: pgsql-sql
On Monday 25 October 2004 05:20, Mike Rylander wrote:
> SELECT * FROM temp50 GROUP BY gc ORDER BY ora DESC;

You can not have have expressions (columns etc.) in the SELECT list that are 
either not in a GROUP BY clause, or used in an aggregate function when you 
use GROUP BY in the statement.  By saying SELECT *, means you would have to 
GROUP BY gc, co, data, ora ...

That isn't going to do what he wants.  And the SQL you stated should give you 
an error:

ERROR:  column "temp50.co" must appear in the GROUP BY clause or be used in an 
aggregate function



What he wants to do is use DISTINCT ON:

SELECT DISTINCT ON (gc) gc, co, data, ora FROM temp50 ORDER BY gc, ora DESC;


Andy

In response to

  • Re: sql at 2004-10-25 11:20:22 from Mike Rylander

Responses

  • Re: sql at 2004-10-25 13:05:39 from Mike Rylander

pgsql-sql by date

Next:From: Mike RylanderDate: 2004-10-25 13:05:39
Subject: Re: sql
Previous:From: Mike RylanderDate: 2004-10-25 11:20:22
Subject: Re: sql

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group