Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net SQL查询:删除除最近xx行以外的所有行_.net_Sql_Sql Server_Linq To Sql - Fatal编程技术网

.net SQL查询:删除除最近xx行以外的所有行

.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代码都非常有用。谢谢 这太过分了。当您使用相同的方法向特定提要添加新文章时,为什么不在每个提要的基础上执行此

我正在写一个脚本,定期检查RSS提要,需要删掉旧文章。我找到了这个答案,这个答案似乎非常接近我想要的:

我需要一个类似的解决方案,它的工作方式是相同的,除了它保持每个提要N篇文章(而不是一般的N篇文章)。每个项目都有一个名为“RSSFeedID”的字段,该字段引用另一个表中的特定提要。因此,对于每个RSSFeedID,我只需要保留N篇文章


你知道怎么做吗?原始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

要是我们有你的对象模型就好了…太好了!我知道这会涉及到一个子查询,但我就是想不起来。谢谢