从相当大的SQL Server表中删除重复行的最佳方法是什么(即300,000多行)?
当然,由于RowID身份字段的存在,行不会是完美的重复.
MyTable的
RowID int not null identity(1,1) primary key,
Col1 varchar(20) not null,
Col2 varchar(2048) not null,
Col3 tinyint not null
Run Code Online (Sandbox Code Playgroud) 我确定以前曾经问过,但我很难找到它.
我在一个表中有多组重复项(3个记录为一个,2个为另一个,等等) - 存在多个行的多行.
下面是我想要删除它们,但我必须运行脚本,但有许多重复:
set rowcount 1
delete from Table
where code in (
select code from Table
group by code
having (count(code) > 1)
)
set rowcount 0
Run Code Online (Sandbox Code Playgroud)
这在某种程度上很有效.我需要为每组重复项运行它,然后它只删除1(这是我现在所需要的).
感谢您的帮助/评论!