我有一张表,可以在其中使用与不同事件匹配的相同条目。
在上面的例子中,我想保留 1800 行作为它的最新时间,所以最后一个条目。其余的可以删除。但我不知道该怎么做。我正在使用 SQL Server Management Studio。
提前致谢。
答案 0 :(得分:1)
如果您想要一行 AID,那么您可以使用可更新的 CTE:
with todelete as (
select t.*,
row_number() over (partition by AID order by event desc) as seqnum
from t
)
delete from todelete
where seqnum > 1;
答案 1 :(得分:0)
Delete res from
( select t.*,row_number() over (partition by t.AID order by t.event desc) as seqNo
from table t) res
where res.seqNo>1