Re: contracting tables

From: "Peter T(dot) Brown" <peter(at)memeticsystems(dot)com>
To: "'Jeff Eckermann'" <jeff_eckermann(at)yahoo(dot)com>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: contracting tables
Date: 2001-11-30 17:46:09
Message-ID: 010a01c179c6$e5874ea0$7d00000a@PETER
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Thanks for the reply everyone!

I cannot seem to find the EXISTS keyword anywhere in the postgresql
documentation.. What does that do?

And, generally, do you guys think it better/more efficient/etc to select
into, rename, drop tables OR to do the complex single SQL to operate on the
table directly?

Thanks

-----Original Message-----
From: pgsql-sql-owner(at)postgresql(dot)org
[mailto:pgsql-sql-owner(at)postgresql(dot)org]On Behalf Of Jeff Eckermann
Sent: Friday, November 30, 2001 7:39 AM
To: Peter T. Brown; pgsql-sql(at)postgresql(dot)org
Subject: Re: [SQL] contracting tables

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(at)memeticsystems(dot)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(at)postgresql(dot)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

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Esger Abbink 2001-11-30 19:20:49 need some help understanding slow query (followup)
Previous Message Stephan Szabo 2001-11-30 17:34:47 Re: variables in procedures