mysql> select * from i; +---------+---------+ | item_id | feed_id | +---------+---------+ | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | 1 | | 5 | 1 | | 6 | 2 | | 7 | 2 | | 8 | 2 | | 9 | 2 | | 10 | 2 | | 11 | 2 | +---------+---------+ 11 rows in set (0.00 sec) mysql> select * from f; +---------+------------+---------------+ | feed_id | url_md5_fk | first_item_id | +---------+------------+---------------+ | 1 | aaa | 3 | | 2 | bbb | 9 | +---------+------------+---------------+ 2 rows in set (0.00 sec) mysql> delete i from i,f where i.feed_id = f.feed_id and item_id < first_item_id; Query OK, 5 rows affected (0.01 sec) mysql> select * from f; +---------+------------+---------------+ | feed_id | url_md5_fk | first_item_id | +---------+------------+---------------+ | 1 | aaa | 3 | | 2 | bbb | 9 | +---------+------------+---------------+ 2 rows in set (0.00 sec) mysql> select * from i; +---------+---------+ | item_id | feed_id | +---------+---------+ | 3 | 1 | | 4 | 1 | | 5 | 1 | | 9 | 2 | | 10 | 2 | | 11 | 2 | +---------+---------+ 6 rows in set (0.00 sec)