SQLite
 sql >> Database >  >> RDS >> SQLite

Android sqlite, limite numero di righe nel database

Una query come questa mostrerà tutti i record, i più recenti per primi:

SELECT *
FROM MyTable
ORDER BY Date DESC    -- or some autoincrementing ID column

Con una clausola OFFSET, puoi saltare i primi record. Ciò significa che ottieni tutti i record tranne i primi 100, cioè ottieni quei record che dovrebbero essere cancellati:

SELECT *
FROM MyTable
ORDER BY Date DESC
LIMIT -1 OFFSET 100

Puoi quindi utilizzarlo in una sottoquery per eliminare effettivamente i record:

DELETE FROM MyTable
WHERE ID IN (SELECT ID
             FROM MyTable
             ORDER BY Date DESC
             LIMIT -1 OFFSET 100)