Uma consulta como esta mostrará todos os registros, os mais novos primeiro:
SELECT *
FROM MyTable
ORDER BY Date DESC -- or some autoincrementing ID column
Com uma cláusula OFFSET, você pode pular os primeiros registros. Isso significa que você obtém todos os registros exceto os primeiros 100, ou seja, você obtém os registros que devem ser excluídos:
SELECT *
FROM MyTable
ORDER BY Date DESC
LIMIT -1 OFFSET 100
Você pode usar isso em uma subconsulta para excluir os registros:
DELETE FROM MyTable
WHERE ID IN (SELECT ID
FROM MyTable
ORDER BY Date DESC
LIMIT -1 OFFSET 100)