码迷,mamicode.com
首页 > 数据库 > 详细

Mysql数据表去重

时间:2018-05-22 12:47:47      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:where   div   from   大于等于   join   AC   max   ack   保留   

查询不重复元素个数

select count(distinct domain) from black_botnet_domian; 

查询表中元素个数大于等于2的元素

SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name HAVING COUNT(goods_name)>=2;  

然后使用LEFT JOIN使原始表和上述查询结果进行连接,删除重复记录,保留id较小的记录

DELETE t1 FROM tdb_goods AS t1 LEFT JOIN( SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name HAVING COUNT(goods_name)>=2) AS t2 ON t1.goods_name = t2.goods_name WHERE t1.goods_id>t2.goods_id; 

如果想保留id较大的同理,如下所示

DELETE t1 FROM tdb_goods AS t1 LEFT JOIN( SELECT max(goods_id) AS goods_id,goods_name FROM tdb_goods GROUP BY goods_name HAVING COUNT(goods_name)>=2) AS t2 ON t1.goods_name = t2.goods_name WHERE t1.goods_id<t2.goods_id;

Mysql数据表去重

标签:where   div   from   大于等于   join   AC   max   ack   保留   

原文地址:https://www.cnblogs.com/luxiaojun/p/9070926.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!