SQL Server 移除重複資料的方法
2025-03-20
說明如何將 SQL Server 資料表中的重複資料移除 🧹
說明
如果無法分辨重複資料,例如無法根據主鍵或者流水號等唯一索引去區別要刪除的資料,可以透過 DISTINCT
關鍵字將重複資料先存入暫存表,再進行刪除與插入的動作。
/* 過濾重複的資料後,將資料存入暫存表 */
SELECT DISTINCT *
INTO #TEMP_TABLE
FROM [dbo].[TableName]
WHERE DATE = '2025-03-20'
GO
/* 刪除重複資料 */
DELETE FROM [dbo].[TableName] WHERE DATE = '2025-03-20'
GO
/* 將暫存表資料插入原始表 */
INSERT INTO [dbo].[TableName] SELECT * FROM #TEMP_TABLE
GO
/* 刪除暫存表 */
DROP TABLE #TEMP_TABLE