DELETE FROM t WHERE EXISTS - Mailing list pgsql-sql

From Dan Langille
Subject DELETE FROM t WHERE EXISTS
Date
Msg-id 3E5F530B.1649.424D34C1@localhost
Whole thread Raw
Responses Re: DELETE FROM t WHERE EXISTS  (Jakub Ouhrabka <jouh8664@ss1000.ms.mff.cuni.cz>)
Re: DELETE FROM t WHERE EXISTS  (Jeff Eckermann <jeff_eckermann@yahoo.com>)
Re: DELETE FROM t WHERE EXISTS  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: DELETE FROM t WHERE EXISTS  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Re: DELETE FROM t WHERE EXISTS  ("Tomasz Myrta" <jasiek@klaster.net>)
Re: DELETE FROM t WHERE EXISTS  (Robert Treat <xzilla@users.sourceforge.net>)
Re: DELETE FROM t WHERE EXISTS  (Dmitry Tkach <dmitry@openratings.com>)
List pgsql-sql
Hi folks,

I wanted to delete "old" rows from a table.  These are the rows I 
want to keep:

SELECT * 
FROM clp 
ORDER BY commit_date 
LIMIT 100

So I tried this:

DELETE FROM clp 
WHERE NOT EXISTS (
SELECT * 
FROM clp 
ORDER BY commit_date 
LIMIT 100);

Uhh uhh, nothing deleted.  I don't understand why.

OK, I can do this instead:

DELETE from clp 
where commit_log_id NOT in (
SELECT commit_log_id 
FROM clp 
ORDER BY commit_date 
LIMIT 100);

Can you think of a better way?
-- 
Dan Langille : http://www.langille.org/



pgsql-sql by date:

Previous
From: Dawn Hollingsworth
Date:
Subject: Query Against a dblink View Takes Too Long to Return
Next
From: Guy Fraser
Date:
Subject: Re: WebDB, iAS