Re: How to idenity duplicate rows - Mailing list pgsql-general

From Peter Eisentraut
Subject Re: How to idenity duplicate rows
Date
Msg-id 200603192352.08564.peter_e@gmx.net
Whole thread Raw
In response to How to idenity duplicate rows  ("David Inglis" <david.inglis@ideloveto.com.au>)
Responses Re: How to idenity duplicate rows  ("Jan Cruz" <malebug@gmail.com>)
Re: How to idenity duplicate rows  (Berend Tober <btober@seaworthysys.com>)
List pgsql-general
David Inglis wrote:
> Can anybody assist with this problem I have a table that has some
> duplicated rows of data,  I want to place a unique constraint on  the
> columns userid and procno to eliminate this problem in the future but
> how do I identify and get rid of the existing duplication.

To find them, something like

SELECT a, b, c FROM table GROUP BY a, b, c HAVING count(*) > 1;

comes to mind, where you have to list all columns of the table in place
of a, b, c.

As for deleting all but one row in a duplicated group, you're going to
have to get at them by the oid or ctid columns perhaps.

The other idea is to run CREATE TABLE newtable AS SELECT DISTINCT * FROM
oldtable;.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: ambuild parameters
Next
From: "Jan Cruz"
Date:
Subject: Re: How to idenity duplicate rows