通过多个字段 删除重复数据

查询重复数据  (通过group by   分组  每组多于一条即存在重复数据)

SELECT id  FROM sy_daily_statement GROUP BY site_code,s_datetime,data_type HAVING COUNT(`site_code`)>1 

得到重复id  这个id是这组中某一数据的随机id  

DELETE FROM sy_daily_statement  where id in (
SELECT * from (
SELECT id  FROM sy_daily_statement GROUP BY site_code,s_datetime,data_type HAVING COUNT(`site_code`)>1 ) a
)

删除一个这个重复id  如果只有俩条重复 那么再执行下面sql就会查到的是空

SELECT id  FROM sy_daily_statement GROUP BY site_code,s_datetime,data_type HAVING COUNT(`site_code`)>1 

如果查的不是空  就再执行下面sql  直到上面sql查到为空

DELETE FROM sy_daily_statement  where id in (
SELECT * from (
SELECT id  FROM sy_daily_statement GROUP BY site_code,s_datetime,data_type HAVING COUNT(`site_code`)>1 ) a
)

发布了20 篇原创文章 · 获赞 2 · 访问量 730
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览