SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

sqlite Android, limite o número de linhas no banco de dados


Uma consulta como esta mostrará todos os registros, os mais novos primeiro:
SELECT *
FROM MyTable
ORDER BY Date DESC    -- or some autoincrementing ID column

Com uma cláusula OFFSET, você pode pular os primeiros registros. Isso significa que você obtém todos os registros exceto os primeiros 100, ou seja, você obtém os registros que devem ser excluídos:
SELECT *
FROM MyTable
ORDER BY Date DESC
LIMIT -1 OFFSET 100

Você pode usar isso em uma subconsulta para excluir os registros:
DELETE FROM MyTable
WHERE ID IN (SELECT ID
             FROM MyTable
             ORDER BY Date DESC
             LIMIT -1 OFFSET 100)