# 数据去重方法 > SQL Server 数据去重常用方法 ## 方法一:使用 DISTINCT ```sql SELECT DISTINCT * FROM TableName ``` ## 方法二:临时表去重 ```sql BEGIN TRAN -- 1. 选中不重复的数据到临时表 SELECT DISTINCT * INTO #temp FROM DataSyncStationSX -- 2. 删除原表数据 DELETE FROM DataSyncStationSX -- 3. 从临时表导回 INSERT INTO DataSyncStationSX SELECT * FROM #temp -- 4. 删除临时表 DROP TABLE #temp COMMIT ``` ## 方法三:ROW_NUMBER 去重 ```sql -- 删除重复数据,保留最新一条 DELETE FROM TableName WHERE ID IN ( SELECT ID FROM ( SELECT ID, ROW_NUMBER() OVER (PARTITION BY duplicate_column ORDER BY created_time DESC) AS rn FROM TableName ) t WHERE rn > 1 ) ``` ## 方法四:查找重复数据 ```sql -- 查找重复记录 SELECT column1, column2, COUNT(*) as cnt FROM TableName GROUP BY column1, column2 HAVING COUNT(*) > 1 ``` --- > ⚠️ 执行删除前请先备份数据!