mysql根据多个字段去重

现在在搞数据处理,里面有个数据是根据两个字段来区别是不是一样的,那如果在设计的时候没有将那两个字段设计成唯一主键,或者唯一索引,后续就要进行去重,上网查了好久,发现都没有啥好的解决方法,后来想了下,将那两个主键连接一下,然后group分组不就行了?虽然性能很弱鸡,但是这个sql我又只是用一次而已。

SELECT 
	字段1 , 字段2,
    字段3, 字段4, 
    concat(字段1,字段2)
FROM
    表名
GROUP BY 
    concat(字段1,字段2) ;

这样就行了,如果想要得到新的表,那就在前面弄个create table就行:

create table  新表名
SELECT 
	字段1 , 字段2,
    字段3, 字段4, 
    concat(字段1,字段2)
FROM
    表名
GROUP BY 
    concat(字段1,字段2) ;

然后再将新的表的concat(字段1,字段2) 给删掉,然后就能得到新的去重的表了
(虽然这个方法挺菜的,但是反正我又只用一次,筛选完就没问题了)
如果实在不放心,那么conact函数还能concat更多个字段一起去重:
concat(字段1,字段2,字段3,字段4)

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值