Merlin,

Its just about three columns - not any column. Two columns are 
varchars and the third is
a date. The date column value is NULL  for the rows for which 
I want to delete the duplicates.

Yes, please, be a bit more specific!

/regards, Håkan Jacobsson


>----Ursprungligt meddelande----
>Från: [EMAIL PROTECTED]
>Datum: 06-09-2007 01:56
>Till: "Håkan Jacobsson"<[EMAIL PROTECTED]>
>Kopia: <pgsql-general@postgresql.org>
>Ärende: Re: [GENERAL] SQL for Deleting all duplicate entries
>
>On 9/5/07, Håkan Jacobsson <[EMAIL PROTECTED]> 
wrote:
>> Hi,
>>
>> I want to create a DELETE statement which deletes 
duplicates
>> in a table.
>>
>> That is, I want to remove all rows - but one - having three
>> columns with the same data (more columns exist and there 
the
>> data varies).
>> For example:
>> column1
>> column2
>> column3
>> column4
>> column5
>>
>> column2 = 'test', column3 = 'hey' and column4 IS NULL for
>> several rows in the table. I want to keep just one of those
>> rows.
>>
>> Is this possible? I can't figure it out, so any help MUCH
>> appreciated!
>
>when removing duplicates, I find it is usually better to look 
at this
>problem backwards...you want to select out the data you want 
to keep,
>truncate the original table, and insert select the data back 
in.
>
>What isn't exactly clear from your question is if you are 
interested
>in only particular fields or if you want to throw out based 
on any
>columns (nut just 2, 3, and 4).  If so, this is a highly 
irregular
>(and interesting) problem, and should prove difficult to make
>efficient.
>
>If you are only interested in three particular columns, then 
it's easy.
>1. select out data you want to keep using create table 
scratch SELECT
>DISTINCT ON or GROUP BY into scratch
>2. truncate main table
>3. insert into main select * from scratch
>
>for a more specific answer, you will have to provide some 
more detail,
>especially regarding exactly how you determine two rows as 
being
>'duplicates'.
>
>merlin
>



---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to