删除Exact Duplicate记录(同样的id)但保留一个

时间:2018-01-30 04:06:59

标签: mysql

我需要一个查询,它将删除表中具有完全相同行(甚至相同的id)的所有记录,但只保留一个。

这是我的数据库结构:

      [ ID      STATUS   ] 
       '1', 'New Request'
       '1', 'New Request'
       '2', 'Old Request'

将删除第一行或第二行但保留一条记录的查询。因此,可能有3个,4个或更多相同的记录但我必须删除所有并且只保留一个。请帮助我。

2 个答案:

答案 0 :(得分:1)

根据您的表的大小,您可以将所有不同的记录复制到临时表中,截断原始表,然后复制回原始表:

CREATE TEMPORY TABLE tmp AS SELECT DISTINCT * FROM table;
TRUNCATE table;
INSERT INTO table SELECT * FROM tmp;

答案 1 :(得分:0)

尝试以下一组查询:

从表

中选择不同的[id],[status]到temptable

开始

从表中删除

开始

从表格中选择[id],[status]插入表格

开始

删除表格temptable

开始