mysql中 删除重复数据
原创
©著作权归作者所有:来自51CTO博客作者wyfirst的原创作品,谢绝转载,否则将追究法律责任
很简单的语句 可用一个命令删除表中的重复数据
delete from tt where a not in(select a from (select max(a) a from tt where b=b group by b) e);
例举一个简单的例子
a列有主键,而b列没有约束
我们看到b列有重复值,手动删除少量数据还可以,如果上千条就吃不消了。
我们首先要找出没有重复的数据
OK就是它,多余的都没有显示出来
那就可以用delete的命令开始删除了
可问题来了
这怎么删呢! 查询出的数据有问题,要改改查询方式
查询出a的记录,就可以用a的记录把重复数据删除了
怎么还是错的呢! 我上网查过,发现时mysql自己不支持这种update,在oracle中就可做到。所以只能是多写一步,使update记录去修改一个临时表。
查询结果一样没问题,只要把没显示出来的数据删掉,就不没有重复的数据了。
成功删除2条记录
OK!重复数据被删除了。
下一篇:sql查询小技巧
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章