排序项我有一个具有列SQL查询来删除通过时间
_id =主键自动递增
标题=字符串
时间戳=长
表我的表中有35个条目。我的表在任何给定时间只能包含25个条目。所以这意味着必须从我的表中删除10个额外的条目。
还有35个条目应该先按时间戳排序,最后10个条目应该删除,以便我只有25个最近的条目。
有些人可以帮我一个删除查询,首先按时间戳排序条目,只保留25个条目,删除剩余的条目。
排序项我有一个具有列SQL查询来删除通过时间
_id =主键自动递增
标题=字符串
时间戳=长
表我的表中有35个条目。我的表在任何给定时间只能包含25个条目。所以这意味着必须从我的表中删除10个额外的条目。
还有35个条目应该先按时间戳排序,最后10个条目应该删除,以便我只有25个最近的条目。
有些人可以帮我一个删除查询,首先按时间戳排序条目,只保留25个条目,删除剩余的条目。
DELETE FROM MYTABLE WHERE _id NOT IN
(SELECT _id from MYTABLE ORDER BY timestamp DESC LIMIT 25)
保持最新的25个条目。
这听起来像你需要SQL中的FIFO队列。只存储最近25个(或任何其他数量)项目的表格。
如果是这样,那么这里是一个解决方案:
http://www.xaprb.com/blog/2007/01/11/how-to-implement-a-queue-in-sql/
替代radashk方法: 您可以删除一个(最早的)记录每次插入新记录时,可以在DB做插入表格触发器:
DELETE FROM MYTABLE WHERE timestamp = MIN(timestamp);
此声明可以包装在记录盘点检查或其他内容中,以确保您保持最低记录数。
作品像魅力... thnx – 2012-08-07 11:43:37