SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Android sqlite, Anzahl der Zeilen in der Datenbank begrenzen

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)