From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
---|---|
To: | Jules Alberts <jules(dot)alberts(at)arbodienst-limburg(dot)nl> |
Cc: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: filtering out doubles |
Date: | 2003-03-12 20:17:46 |
Message-ID: | 20030312121542.F55615-100000@megazone23.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Wed, 12 Mar 2003, Jules Alberts wrote:
> Hello everyone,
>
> I was wondering how to filter out double values (where "value" spans
> two columns COL1 and COL2) with a SELECT statement. If I have this
> table:
>
> COL1 |COL2 |COL3
> -----------------------------
> a |b |some value
> a |b |another value
> a |c |yet another value
>
> what would be the select statement to get this result:
>
> COL1 |COL2 |COL3
> -----------------------------
> a |b |some value
> a |c |yet another value
>
> I was thinking that DISTINCT would do this, but I don't want to loose
> COL3. TIA for any tips!
If you're willing to use a postgresql extension,
select distinct on (col1, col2) * ...
That'll give you a pretty much arbitrarily chosen col3 for a col1,col2
pair that has duplicates. You can get some control over which one is
chosen using order by IIRC.
From | Date | Subject | |
---|---|---|---|
Next Message | Tomasz Myrta | 2003-03-12 20:40:17 | Re: LEFT JOIN and missing values |
Previous Message | mila | 2003-03-12 20:12:15 | Re: LEFT JOIN and missing values |