Как удалить все строки из таблицы, кроме последних N?
оставляет пять последних записей, при условии, что id идут по порядку DELETE FROM gangs_actions
WHERE gangs_actions_id < (SELECT MAX(gangs_actions_id) - 5 FROM (SELECT * FROM gangs_actions) tmp)
а это твой запрос, только он будет работать DELETE FROM gangs_actions
WHERE gangs_actions_id <= (
SELECT gangs_actions_id FROM (SELECT * FROM gangs_actions) as tmp
ORDER BY gangs_actions_id DESC
LIMIT 5,1
)
Эти ответы годятся только если есть PK-поле с цифрами.