mysql 整行去重_sql去重(整行或按列都行)

--author:coffeesweet

--查出所有重复的数据

SELECT ROWID,NCA.CLASS_NAME FROM NG_CFG_AUDIT NCA WHERE NCA.CLASS_NAME IN

(SELECT NCA2.CLASS_NAME FROM NG_CFG_AUDIT NCA2 GROUP BY NCA2.CLASS_NAME HAVING COUNT(*)>1);

--查询多余的数据的rowid最大的一条

SELECT MAX(NCA3.ROWID),NCA3.CLASS_NAME FROM NG_CFG_AUDIT NCA3 GROUP BY NCA3.CLASS_NAME HAVING COUNT(*)>1;

--查询多出来的数据

(

SELECT NCA.ROWID,NCA.CLASS_NAME FROM NG_CFG_AUDIT NCA WHERE NCA.CLASS_NAME IN

(SELECT NCA2.CLASS_NAME FROM NG_CFG_AUDIT NCA2 GROUP BY NCA2.CLASS_NAME HAVING COUNT(*)>1)

)

MINUS

(

SELECT MAX(NCA3.ROWID),NCA3.CLASS_NAME FROM NG_CFG_AUDIT NCA3 GROUP BY NCA3.CLASS_NAME HAVING COUNT(*)>1

);

--删除多余的数据(对于多的只保留一条)

DELETE  FROM NG_CFG_AUDIT NCA4 WHERE NCA4.ROWID IN(

(

SELECT NCA.ROWID FROM NG_CFG_AUDIT NCA WHERE NCA.CLASS_NAME IN

(SELECT NCA2.CLASS_NAME FROM NG_CFG_AUDIT NCA2 GROUP BY NCA2.CLASS_NAME HAVING COUNT(*)>1)

)

MINUS

(

SELECT MAX(NCA3.ROWID) FROM NG_CFG_AUDIT NCA3 GROUP BY NCA3.CLASS_NAME HAVING COUNT(*)>1

)

);

--普通查询语句

SELECT ROWID,NCA.* FROM NG_CFG_AUDIT NCA WHERE NCA.CLASS_NAME='com.ersoft.service.impl.PopularizeCostDrawInfoSVImpl';

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2009-09-28 16:40

浏览 2860

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值