MySql教程

mysql对重复数据操作

本文主要是介绍mysql对重复数据操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

最近对数据库进行复习这篇文章也只是记录一些遇到到问题,并记录解决方法。

查找表(Demo)中多余的重复记录,重复记录是根据单个字段(name)来判断

select * from Demo01 where name in 
(select name from Demo group by name having count(name) > 1);

删除表(Demo)中多余的重复记录,重复记录是根据单个字段(name)来判断,只留有id最小的记录

delete from Demo where 
name in (select name from Demo group by name   having count(name) > 1) and 
id not in (select min(id) from Demo group by name having count(name )>1);

查找表(Demo)中多余的重复记录(多个字段 )

select * from Demo a where
(a.name,a.age) in
(select name,age from Demo group by name,age having count(*) > 1);

查找表(Demo)中多余的重复记录(多个字段),不包含id最小的记录

select * from Demo a where 
(a.name,a.age) in (select name,age from Demo group by 
name,age having count(*) > 1) and
id not in (select min(id) from Demo group by name,age having count(*)>1);

仅供参考,希望自己的分享帮助有需要的人。

这篇关于mysql对重复数据操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!