我想保留最新的100条记录(lastmodifiedtime是datetime列)并删除其余的记录。我正在努力为此目的而获得查询。
;WITH CTE AS
(
SELECT TOP 100 *
FROM [mytable]
ORDER BY LastModifiedTime desc
)
DELETE FROM CTE
这样的查询将为您提供最近100条记录的ID:
SELECT TOP 100 ID
FROM [YOUR_TABLE]
ORDER BY lastmodifiedtime DESC
因此,您要做的就是从删除中排除以下ID:
DELETE FROM [YOUR_TABLE]
WHERE ID NOT IN
(SELECT TOP 100 Id
FROM [YOUR_TABLE]
ORDER BY lastmodifiedtime DESC)
只需替换ID
为您的标识字段和[YOUR_TABLE]
表名即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句