Possible hint:
mysql> mysql> CREATE TABLE test ( -> id SMALLINT unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY -> ) ENGINE=InnoDB; Query OK, 0 rows affected (0.02 sec) mysql> INSERT INTO test () VALUES -> (),(),(),(),(),(),(),(),(),(), -> (),(),(),(),(),(),(),(),(),(), -> (),(),(),(),(),(),(),(),(),(); Query OK, 30 rows affected (0.01 sec) Records: 30 Duplicates: 0 Warnings: 0 mysql> DELETE FROM t USING -> test t JOIN ( -> SELECT id -> FROM ( -> SELECT id -> FROM test -> ORDER BY id DESC -> LIMIT 20, 1000 -> ) as ids) as ids ON t.id = ids.id; Query OK, 10 rows affected (0.01 sec) mysql> SELECT * FROM test; +----+ | id | +----+ | 11 | | 12 | | 13 | | 14 | | 15 | | 16 | | 17 | | 18 | | 19 | | 20 | | 21 | | 22 | | 23 | | 24 | | 25 | | 26 | | 27 | | 28 | | 29 | | 30 | +----+ 20 rows in set (0.00 sec)
source share