Re: (un)grouping question

From: Andrei Kovalevski <andyk(at)commandprompt(dot)com>
To: Rhys Stewart <rhys(dot)stewart(at)gmail(dot)com>
Cc: Jeff Davis <pgsql(at)j-davis(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: (un)grouping question
Date: 2008-01-21 19:49:10
Message-ID: 4794F736.4030204@commandprompt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

May be this is what you need:

select
test.uid, coalesce(t.somevalue + a.max + t.uid, test.somevalue)
from
test
left outer join
(select
*
from
test
where
(uid, somevalue) not in
(select min(uid), somevalue from test group by somevalue)
) t on (test.uid = t.uid),
(select max(somevalue) from test) a

Rhys Stewart wrote:
> ok, let me clarify, dont want to remove them just want them changed
> but need to keep the uid. However, I would like just one somevalue to
> remain the same. so for example, uids, 2,4 and 8 have somevalue 44,
> after i would like 2 to remain 44 but uids 4 and 8 would be changed.
> 2008/1/21, Jeff Davis <pgsql(at)j-davis(dot)com <mailto:pgsql(at)j-davis(dot)com>>:
>
> On Mon, 2008-01-21 at 12:36 -0500, Rhys Stewart wrote:
> > Hi list,
> >
> > have the following table
> >
> > uid|somevalue
> > --------------------
> > 1|11
> > 2|44
> > 3|31
> > 4|44
> > 5|71
> > 6|33
> > 7|33
> > 8|44
> > 9|14
> >
> > would like to remove the duplicate values in the column somevalue.
> > doing this by just adding a random number is perfectly fine,
> however
> > i want to retain at least one of the original values of
> somevalue. Any
> > ideas how to do this in in a query?
>
> Would something like this help?
>
> SELECT MIN(uid), somevalue FROM mytable GROUP BY somevalue;
>
> Also consider just doing:
>
> SELECT DISTINCT somevalue FROM mytable;
>
> ...if you don't need uid in the result set.
>
> Regards,
> Jeff Davis
>
>

--
Andrei Kovalevski
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Managed Services, Shared and Dedicated Hosting
Co-Authors: plPHP, ODBCng - http://www.commandprompt.com/

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jeff Davis 2008-01-21 19:50:11 Re: (un)grouping question
Previous Message Scott Marlowe 2008-01-21 19:45:54 Re: (un)grouping question