如果二条记录完全相同,是没有办法只删掉其中一条的,要不是两条者删除,要不是都不删除。但只要有一个字段有不同的值(其它字段值都相同)假设为diff 则删除为: delete from 表名 where diff not in (select min(diff) from 表名 group by 除diff以外的所有字段)
1、所有字缎都一样的 CREATE TABLE tmp SELECT * FROM haha WHERE 1 = 0; INSERT INTO tmp SELECT DISTINCT * FROM haha; DROP TABLE haha; ALTER TABLE tmp RENAME TO haha;
1、所有字缎都一样的;完全相同的记录。CREATE TABLE tmp SELECT DISTINCT * FROM haha; DROP TABLE haha; ALTER TABLE tmp RENAME TO haha;2、将一个字段比如 id 作为重复记录判断CREATE TABLE tmp SELECT * FROM haha group by id; DROP TABLE haha; ALTER TABLE tmp RENAME TO haha;
delete from 表名 where diff not in (select min(diff) from 表名 group by 除diff以外的所有字段)
CREATE TABLE tmp SELECT * FROM haha WHERE 1 = 0;
INSERT INTO tmp SELECT DISTINCT * FROM haha;
DROP TABLE haha;
ALTER TABLE tmp RENAME TO haha;
DROP TABLE haha;
ALTER TABLE tmp RENAME TO haha;2、将一个字段比如 id 作为重复记录判断CREATE TABLE tmp SELECT * FROM haha group by id;
DROP TABLE haha;
ALTER TABLE tmp RENAME TO haha;