Re: sql

From: Mike Rylander <mrylander(at)gmail(dot)com>
To: akopciuch(at)bddf(dot)ca
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: sql
Date: 2004-10-25 13:05:39
Message-ID: b918cf3d04102506056ead8820@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Mon, 25 Oct 2004 05:44:06 -0600, Andrew J. Kopciuch
<akopciuch(at)bddf(dot)ca> wrote:
> 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 ...

Doh! Of course. Should have had coffee before writing that ;)

>
> 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:44:06 from Andrew J. Kopciuch

Browse pgsql-sql by date

  From Date Subject
Next Message Bruno Wolff III 2004-10-25 16:32:50 Re: now() + integer, not rounded to whole day
Previous Message Andrew J. Kopciuch 2004-10-25 11:44:06 Re: sql