Une requête comme celle-ci affichera tous les enregistrements, le plus récent en premier :
SELECT *
FROM MyTable
ORDER BY Date DESC -- or some autoincrementing ID column
Avec une clause OFFSET, vous pouvez ignorer les premiers enregistrements. Cela signifie que vous obtenez tous les enregistrements sauf les 100 premiers, c'est-à-dire que vous obtenez les enregistrements qui doivent être supprimés :
SELECT *
FROM MyTable
ORDER BY Date DESC
LIMIT -1 OFFSET 100
Vous pouvez ensuite l'utiliser dans une sous-requête pour réellement supprimer les enregistrements :
DELETE FROM MyTable
WHERE ID IN (SELECT ID
FROM MyTable
ORDER BY Date DESC
LIMIT -1 OFFSET 100)