Re: select min row in a group - Mailing list pgsql-general

From Manfred Koizar
Subject Re: select min row in a group
Date
Msg-id 48ophu8t7k4rsklf3go4fp69hmkqoslptp@4ax.com
Whole thread Raw
In response to select min row in a group  (Gregory Seidman <gss+pg@cs.brown.edu>)
Responses Re: select min row in a group  (Gregory Seidman <gss+pg@cs.brown.edu>)
List pgsql-general
On Fri, 28 Jun 2002 17:56:17 -0400, Gregory Seidman
<gss+pg@cs.brown.edu> wrote:
>This is really an SQL question, not specific to PostgreSQL.
Greg,

but the answer is specific to PostgreSQL :-)

>For each ext_id (which references something in another table), I want to
>find the row with the minimum value.
>I feel like there has to be a way to do it without a nested query, probably
>using GROUP BY. Any thoughts?

If you only need ext_id and value, this should work with most SQL
dialects:

    SELECT ext_id, min(value)
    FROM ValTable
    GROUP BY ext_id;

If you need all the other columns, use this PostgreSQL extension:

    SELECT DISTINCT ON (ext_id) ext_id, value, ...
    FROM ValTable
    ORDER BY ext_id, value;

Servus
 Manfred



pgsql-general by date:

Previous
From: Gregory Seidman
Date:
Subject: Re: serial columns & loads misfeature?
Next
From: Manfred Koizar
Date:
Subject: Re: serial columns & loads misfeature?