sqlite - 查询删除条目,而忽略最后的X个条目?

标签 sqlite sql-delete

我试图找出一个查询,以从数据库中删除行,其中保留一定数量。

例如,如果我们有10个条目并想要删除除2个条目以外的所有条目,我该怎么做?

我当时想我可以计算表中的条目数,然后使用(最大大小-X)的限制运行删除查询,但是我觉得应该有一种更有效的方法来执行此操作。

最佳答案

首先找到要保留的行的查询,然后将其从删除中排除:

DELETE FROM MyTable
WHERE ID NOT IN (SELECT ID
                 FROM MyTable
                 ORDER BY Whatever
                 LIMIT 2)

关于sqlite - 查询删除条目,而忽略最后的X个条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24812056/

相关文章:

postgresql - 在表中保留一定数量的记录

android - SQLiteException : near "XY": syntax error (code 1):

python - 使用 Python 2.7 未将数据插入到 Sqlite3 数据库中

ios - CoreData在启动时检测数据库不一致

python - 如何在 SQLAlchemy、Flask、Python 中处理唯一数据

php - 使用复选框删除 Mysql 行

php - 查询通过 phpmyadmin 执行,但不通过 php 脚本执行

mysql - 在 MySQL 中从 HAVING COUNT(*) 中删除

android - SQLite Random() 在 ORDER BY 中排序不正确

mysql - 只有一个约束的多删除