sqlserver根據條件去除重複資料

讠讠讠發表於2024-12-02

--刪除表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
);

相關文章