Android 如何删除超过50个计数的所有行?
我的桌子:Android 如何删除超过50个计数的所有行?,android,sqlite,Android,Sqlite,我的桌子: _id | state | timeStamp 我希望选择状态为0的所有行,并按时间戳对结果排序。我不想删除超过特定限制的所有项目,例如50行 *本质上,我不希望状态为0的行超过50行 我怎样才能做到这一点?我试着写了一篇,但我有点迷路了 从state=0 ORDER BY timeStamp的表中删除将NOT IN语句与子查询一起使用: 从状态为0且_id未插入的表中删除状态为0的表中的_id按时间戳限制50排序 它所做的是选择state=0的所有行,然后在按时间戳排序时删除st
_id | state | timeStamp
我希望选择状态为0的所有行,并按时间戳对结果排序。我不想删除超过特定限制的所有项目,例如50行
*本质上,我不希望状态为0的行超过50行
我怎样才能做到这一点?我试着写了一篇,但我有点迷路了
从state=0 ORDER BY timeStamp的表中删除将NOT IN语句与子查询一起使用:
从状态为0且_id未插入的表中删除状态为0的表中的_id按时间戳限制50排序
它所做的是选择state=0的所有行,然后在按时间戳排序时删除state=0的前50行。您可以找到第50行的时间戳,然后对state=0且时间戳较旧或较新的行执行delete语句,这里使用的时间戳比您找到的时间戳要多。那么您想将表截断为50行吗?我不确定我是否理解您所说的事件是什么意思?我想是吧?基本上,我不希望状态为0的行超过50行是的,我在尝试子查询时基本上迷失了方向。。。所以我知道你有什么,但感觉第一个和最后一个SELECT命令是重复的。-是什么意思?对不起,负号错了,我在寻找正确的查询。给我一分钟:@Nicklas你不应该用NOT IN代替IN吗?你还错过了选择器中的时间戳,太好了!我得试一下。。。所以,这将保留前50个项目,并丢弃其余的?感谢你的方法想法,我认为这是完全有意义的。我仍然不知道如何编写复杂的删除查询。基本上,我希望在这个论坛的帮助下,我可以通过一个查询来了解它的工作原理