要删除SQL Server中的重复数据,您可以使用以下方法:
WITH CTE AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY column1, column2, ... ORDER BY (SELECT NULL)) AS RowNum
FROM your_table
)
DELETE FROM CTE WHERE RowNum > 1;
在这个查询中,您需要将column1, column2, ...
替换为您要检查重复数据的列名,并将your_table
替换为您要删除重复数据的表名。
DELETE FROM your_table
WHERE EXISTS (
SELECT 1 FROM your_table t2
WHERE t2.column1 = your_table.column1
AND t2.column2 = your_table.column2
AND t2.primary_key_column <> your_table.primary_key_column
);
在这个查询中,您需要将column1, column2
替换为您要检查重复数据的列名,并将your_table
和primary_key_column
替换为您要删除重复数据的表名和主键列名。
请注意,在执行删除操作之前,最好先备份您的数据以防止意外删除重要数据。
领取专属 10元无门槛券
手把手带您无忧上云