mysql删除重复数据
今天工作时遇到了一个问题,将mysql中一个表里面的重复数据删除掉,用了多种方法一直提示错误,在网上查了半天终于解决了。
例如:需要删除A表中uid字段重复的数据,具体操作如下:
首先查询出不重复的数据:
select * from a group by uid;
接下来新建一个表B,设计格式跟表A的完全一样,将查询出来的结果插入到表B中
insert into B (select * from A GROUP BY uid);
然后根据A表和B表另一个字段删除A表中包含B表的数据
delete a.* from A as a,B as b where a.id = b.id;
这样A表中就不存在uid重复的数据了。
在PostgreSQL中删除重复的数据很容易:
DELETE
FROM
A
WHERE
ctid NOT IN (
SELECT
MIN (ctid)
FROM
A
GROUP BY
uid
);
参考: https://www.cnblogs.com/luyingfeng/p/5772262.html