Hi, I'm having problems trying to construct a delete query from a table. Below is a scaled down version of the table
host user date id ----------------------------- mars john 27-6 1 pluto dave 27-6 2 venus jane 27-6 3 mars john 28-6 4 saturn tom 28-6 5 pluto dave 29-6 6 What I want to do is purge old records for each host from the table. If I use the query: SELECT max(date), host FROM table GROUP BY host; Then I can get the latest record produced for each host. There are never two records for a host produced on the same date. So basically I want to remove all records *other than* the latest records. If MySQL supported sub queries then this would be easy: DELETE from table where id not in (SELECT max(date) FROM table GROUP BY host) Is this something I'm just going to have to do client side? I figured I could run the query above to get all id's of records to keep and then form a long string of them i.e. keepString = "(1, 4, 7, 9, 12, 15, 17 etc.)" and then run ("DELETE FROM table WHERE date NOT IN" + keepString) . This seems a bit messy tho, and keepstring would contain over 100 id's if used. All ideas greatly appreciated __________________________________________________ Yahoo! Plus For a better Internet experience http://www.yahoo.co.uk/btoffer -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]