思路:使用GROUP BY
进行分组,获取的数据排除掉了重复数据(重复数据取的是第一条),然后插入新的表,然后再把新表替换掉之前的表。
举栗:
要操作的表为test
新表为复制表test
然后清空里面的数据test_new
需要排重的字段为field1
,field2
,field3
,field4
SQL语句为
INSERT INTO test_new SELECT
*
FROM
test
GROUP BY
field1,
field2,
field3,
field4
方法二:
不用创建新表
SQL:
CREATE TABLE test_tmp SELECT
*
FROM
test
GROUP BY
field1,
field2,
field3,
field4
;
DROP TABLE test;
ALTER TABLE test_tmp RENAME TO test;
缺点,创建出来的test_tmp表没有test表的主键、索引等配置,此方法不推荐使用。
ok!完成!记得操作生成数据库一定要备份数据哟