English 中文(简体)
删除重复行
原标题:Remove duplicate rows

我要删除所有重复的行 :

t1
--------------------
col1    col2    col3
1       a       b
2       a       c
3       a       b

在此例1和例3中,重复出现。我需要将这两张都插入另一张表格,然后从当前表格中删除这两张表格。

t1
--------------------
col1    col2    col3
1       a       c

t2
--------------------
col1    col2    col3
1       a       b
2       a       b

这样做的最佳方式是什么?

< 强力 > 编辑 < /强 >

我应提供更多信息。 t1 是一个包含导入行的暂定表格。 有 4 个字段独有地识别记录, 每个行还有 20 + 字段。 如果有重复, 则需要插入不同的表格, 以供审查 。 因此, 我并不认为身份值需要保存, 因为一旦插入到系统中, 从临时表格中值将不再有用 。

问题回答

以下代码可用于删除重复的记录。表格必须包含识别栏,用于识别重复的记录。例如,表格的标识栏是身份栏和重复数据的列,即复制的Column1、复制的Column2和复制的Column3。

DELETE
FROM MyTable
WHERE ID NOT IN
(
SELECT MAX(ID)
FROM MyTable
GROUP BY DuplicateColumn1, DuplicateColumn2, DuplicateColumn3)

引自: