.net SQL查询:删除除最近xx行以外的所有行
我正在写一个脚本,定期检查RSS提要,需要删掉旧文章。我找到了这个答案,这个答案似乎非常接近我想要的: 我需要一个类似的解决方案,它的工作方式是相同的,除了它保持每个提要N篇文章(而不是一般的N篇文章)。每个项目都有一个名为“RSSFeedID”的字段,该字段引用另一个表中的特定提要。因此,对于每个RSSFeedID,我只需要保留N篇文章.net SQL查询:删除除最近xx行以外的所有行,.net,sql,sql-server,linq-to-sql,.net,Sql,Sql Server,Linq To Sql,我正在写一个脚本,定期检查RSS提要,需要删掉旧文章。我找到了这个答案,这个答案似乎非常接近我想要的: 我需要一个类似的解决方案,它的工作方式是相同的,除了它保持每个提要N篇文章(而不是一般的N篇文章)。每个项目都有一个名为“RSSFeedID”的字段,该字段引用另一个表中的特定提要。因此,对于每个RSSFeedID,我只需要保留N篇文章 你知道怎么做吗?原始SQL查询或LINQtoSQL代码都非常有用。谢谢 这太过分了。当您使用相同的方法向特定提要添加新文章时,为什么不在每个提要的基础上执行此
你知道怎么做吗?原始SQL查询或LINQtoSQL代码都非常有用。谢谢 这太过分了。当您使用相同的方法向特定提要添加新文章时,为什么不在每个提要的基础上执行此操作?如果您的两个表被称为RSSFeeds,RSSPosts,那么您可以这样做提供伪代码
idList = query("SELECT unique id FROM RSSFeeds");
for each id in idList
query("
DELETE FROM RSSPosts
WHERE id NOT IN
(SELECT id
FROM RSSPosts
WHERE RSSFeedId = @id
ORDER BY id DESC
LIMIT 10)
");
end
要是我们有你的对象模型就好了…太好了!我知道这会涉及到一个子查询,但我就是想不起来。谢谢