mysql 删除重复数据

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值