################## possessions_ground drop table if exists tmp1; create table tmp1 (posid int(11), maxid int(11), primary key(posid), index(posid)); insert into tmp1 (select possessionID, max(id) as maxid from possessions_ground group by possessionID); DELETE possessions_ground.* FROM possessions_ground LEFT JOIN tmp1 ON tmp1.maxid=possessions_ground.ID WHERE (maxID Is Null); ################## possessions_realassets drop table if exists tmp1; create table tmp1 (posid int(11), maxid int(11), primary key(posid), index(posid)); insert into tmp1 (select possessionID, max(id) as maxid from possessions_realassets group by possessionID); DELETE possessions_realassets.* FROM possessions_realassets LEFT JOIN tmp1 ON tmp1.maxid=possessions_realassets.ID WHERE (maxID Is Null); ################# possessions_status drop table if exists tmp1; create table tmp1 (posid int(11), maxts timestamp(14), primary key(posid), index(posid)); insert into tmp1 (select possessionID, max(`timestamp`) as maxts from possessions_status group by possessionID); DELETE possessions_status.* FROM possessions_status LEFT JOIN tmp1 ON tmp1.maxts=possessions_status.`timestamp`WHERE (maxts Is Null);