DELETE FROM t WHERE EXISTS
- From: "Dan Langille" <dan(at)langille(dot)org>
- To: pgsql-sql(at)postgresql(dot)org
- Subject: DELETE FROM t WHERE EXISTS
- Date: Fri, 28 Feb 2003 12:16:11 -0500
- Message-id: <3E5F530B.1649.424D34C1@localhost> <text/plain>
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/
Home |
Main Index |
Thread Index