Re: sql group by statement - Mailing list pgsql-sql

From Manfred Koizar
Subject Re: sql group by statement
Date
Msg-id g2l3ou44jver0jvic4477cd66d0k92c6li@4ax.com
Whole thread Raw
In response to sql group by statement  ("Albrecht Berger" <berger1517@gmx.ch>)
List pgsql-sql
On Fri, 13 Sep 2002 12:29:21 +0200, "Albrecht Berger"
<berger1517@gmx.ch> wrote:
>Table :
>pk   id   val1 val2
> 1    1    2   3
> 2    1    2   4
> 3    2    1   1
> 4    1    0   5
> 5    2    1   8
> 
>
>Needed Result :
>pk   id   val1 val2
> 4    1    0   5
> 5    2    1   8

Albrecht,

"DISTINCT ON eliminates rows that match on all the specified
expressions, keeping only the first row of each set of duplicates."
So the trick is to sort appropriately:
SELECT DISTINCT on (id) pk, id, val1, val2  FROM yourtable ORDER BY id asc, val2 desc, pk desc;

ServusManfred


pgsql-sql by date:

Previous
From: Hanno Wiegard
Date:
Subject: Table alias in DELETE statements
Next
From: Manfred Koizar
Date:
Subject: Re: Table alias in DELETE statements