我需要一个查询,它将删除表中具有完全相同行(甚至相同的id)的所有记录,但只保留一个。
这是我的数据库结构:
[ ID STATUS ]
'1', 'New Request'
'1', 'New Request'
'2', 'Old Request'
将删除第一行或第二行但保留一条记录的查询。因此,可能有3个,4个或更多相同的记录但我必须删除所有并且只保留一个。请帮助我。
答案 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
开始