Re: contracting tables - Mailing list pgsql-sql

From Jeff Eckermann
Subject Re: contracting tables
Date
Msg-id 20011130153854.46705.qmail@web20801.mail.yahoo.com
Whole thread Raw
In response to contracting tables  ("Peter T. Brown" <peter@memeticsystems.com>)
Responses Re: contracting tables
List pgsql-sql
If you don't have a lot of indexes, sequences,
referential integrity constraints etc. the easiest way
would be:
SELECT INTO table2 DISTINCT * FROM table1;
DROP table1;
ALTER TABLE table2 RENAME TO table1;
Then recreate your other objects/constraints.

If you want to do it in place, then:
DELETE FROM table1 
WHERE EXISTS (    SELECT * FROM table1 AS t1     WHERE t1.key < table1.key
);
You will need an index on your "key" value, or this
will take a long time on a large table.
--- "Peter T. Brown" <peter@memeticsystems.com> wrote:
> Hi--
> 
> I have a table with many records, some of which are
> duplicates (there is no
> unique constraints). How can I contract this table
> to remove any of these
> duplicate records? Like when using GROUP BY in a
> select statement, except
> that I want to just remove the extra entries from
> this table directly... Any
> ideas?
> 
> 
> Thanks,
> 
> Peter Brown
> 
> 
> ---------------------------(end of
> broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please
> send an appropriate
> subscribe-nomail command to majordomo@postgresql.org
> so that your
> message can get through to the mailing list cleanly


__________________________________________________
Do You Yahoo!?
Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month.
http://geocities.yahoo.com/ps/info1


pgsql-sql by date:

Previous
From: Martín Marqués
Date:
Subject: variables in procedures
Next
From: Jeff Eckermann
Date:
Subject: Re: contracting tables