From: | "Denis Arh" <denis(at)exonium(dot)net> |
---|---|
To: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Delete duplicates |
Date: | 2003-06-23 05:16:02 |
Message-ID: | 00ac01c33946$8d1678e0$0a00000a@neo |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
How to delete "real" duplicates?
id | somthing
-----------------------
1 | aaa
1 | aaa
2 | bbb
2 | bbb
(an accident with backup recovery...)
Regards,
Denis Arh
----- Original Message -----
From: "Franco Bruno Borghesi" <franco(at)akyasociados(dot)com(dot)ar>
To: <rudi(at)oasis(dot)net(dot)au>
Cc: <pgsql-sql(at)postgresql(dot)org>
Sent: Sunday, June 22, 2003 11:17 PM
Subject: Re: [SQL] Delete duplicates
> try this
>
> DELETE FROM aap WHERE id NOT IN (
> SELECT max(id)
> FROM aap
> GROUP BY keyword
> );
>
> >
> >
> > Hi,
> >
> > I have a table with duplicates and trouble with my SQL.
> > I'd like to keep a single record and remove older duplicates.
> > For example below of the 6 recods I'd like to keep records
> > 4 and 6.
> >
> > TABLE: aap
> > id | keyword
> > ----+-----------------
> > 1 | LEAGUE PANTHERS
> > 2 | LEAGUE PANTHERS
> > 3 | LEAGUE PANTHERS
> > 4 | LEAGUE PANTHERS
> > 5 | LEAGUE BRONCOS
> > 6 | LEAGUE BRONCOS
> >
> > Here is my SQL so far, it will select records 1 to 5 instead
> > of 1,2,3 and 5 only.
> >
> > Any help greatly appreciated. I think I need a Group By somewhere in
> > there.
> >
> > select a1.id
> > from aap a1
> > where id < ( SELECT max(id) FROM aap AS a2 )
> > AND EXISTS
> > (
> > SELECT *
> > FROM aap AS a2
> > WHERE a1.keyword = a2.keyword
> > )
> >
> > Regards
> > Rudi.
> >
> > ---------------------------(end of
> > broadcast)--------------------------- TIP 1: subscribe and unsubscribe
> > commands go to majordomo(at)postgresql(dot)org
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2003-06-23 05:22:34 | Re: Delete duplicates |
Previous Message | Tomasz Myrta | 2003-06-22 21:23:16 | virtual table |