sqlserver根据条件去除重复数据

--删除表TestTb中字段Name和Age同时重复的数据,并保留最新一条
DELETE FROM dbo.SleepCheckAbnormalRecords WHERE Id IN(
--根据Name和Age这2个字段查询出重复的数据
SELECT Id FROM
(
--根据Name和Age这2个字段进行查询并获得新的列OrderNo(OrderNo就是根据Name和Age重复数据生成的序号,从1开始),同时按照CreateTime降序排列
SELECT *,OrderNo=ROW_NUMBER() OVER(PARTITION BY UserId,RecprdTime ORDER BY CreateTime DESC)
FROM dbo.SleepCheckAbnormalRecords
) Tmp
WHERE OrderNo>1
);

posted @ 2024-12-02 13:52  讠讠讠  阅读(35)  评论(0)    收藏  举报