Eine Abfrage wie diese zeigt alle Datensätze, die neuesten zuerst:
SELECT *
FROM MyTable
ORDER BY Date DESC -- or some autoincrementing ID column
Mit einer OFFSET-Klausel können Sie die ersten Datensätze überspringen. Das bedeutet, dass Sie alle Datensätze außer erhalten die ersten 100, d. h. Sie erhalten die Datensätze, die gelöscht werden sollen:
SELECT *
FROM MyTable
ORDER BY Date DESC
LIMIT -1 OFFSET 100
Sie können dies dann in einer Unterabfrage verwenden, um die Datensätze tatsächlich zu löschen:
DELETE FROM MyTable
WHERE ID IN (SELECT ID
FROM MyTable
ORDER BY Date DESC
LIMIT -1 OFFSET 100)