I have a table [user_logs] with the following fields [username], [datetimelog]
Sample Data
==============
user1 2011-06-28 08:49:01
user2 2011-06-28
DELETE FROM table a WHERE time != (SELECT MAX(time) FROM table b WHERE b.user=a.user);
Here delete a row, if its not the maximum time in group with the same user_id
DELETE from user_logs UL1, user_logs UL2
where UL1.username =UL2.datetimelog
and UL1.datetimelog < UL2.datetimelog
Try that
What about:
DELETE FROM
MY_TABLE M -- delete from the table
LEFT JOIN
MY_TABLE M2 ON M.user = M2.user -- table needs to be joined TO ITSELF
WHERE
NOT M.LOG_DATE = MAX( M2.LOG_DATE ) -- Anything which isn't MAX goes.
Could that work?