Вы не можете указать смещение в DELETE
's LIMIT
предложении.
Так что единственный способ сделать это - переписать ваш запрос примерно так:
DELETE FROM `chat_messages` WHERE id IN (select id from (select id
FROM `chat_messages`
ORDER BY `timestamp` DESC
LIMIT 20, 50) x)
Предположим,что у вас есть первичный ключ id
столбец
UPD : вам нужно реализовать двойное вложение, чтобы обмануть mysql, поскольку он не позволяет выбирать из измененной в данный момент таблицы (благодаря Martin Smith)