删除多个帖子但保留第一个

时间:2017-07-24 11:23:51

标签: sql database tsql

我有一张桌子,在我需要删除的一周内有很多帖子,时间戳不同所以我需要保留第一个条目,然后删除之后的所有其他条目。

建议使用哪种技术。

SQL Server 2008

非常感谢 Ĵ

2 个答案:

答案 0 :(得分:1)

您可以使用delete的CTE。结果是这样的:

with todelete as (
      select p.*,
             row_number() over (partition by post_id order by datetimecol asc) as seqnum
      from posts p
     )
delete from todelete
    where seqnum > 1;

您可以运行子查询以查看发生的情况。

答案 1 :(得分:0)

删除除最旧的

以外的所有帖子
DELETE FROM tbl
WHERE ID NOT IN
(
    select top 1 id 
    from tbl
    order by TimeStampColumn
)