sql >> Base de Datos >  >> RDS >> SQLite

Android sqlite, limita el número de filas en la base de datos

Una consulta como esta mostrará todos los registros, los más recientes primero:

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

Con una cláusula OFFSET, puede omitir los primeros registros. Esto significa que obtiene todos los registros excepto los primeros 100, es decir, obtienes los registros que deben eliminarse:

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

Luego puede usar esto en una subconsulta para eliminar los registros:

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