如果你的表结构设计的比较严谨的话,比如当前表table是有主键ID,
先把第一个重复值选出来: select min(id) from table group by a,b having count() > 1;
然后删除重复的记录: delete from table where id > (select min(id) from table group by a,b having count() > 1);
如果你的表设计的不严谨,比如没有ID这个可供 *** 作的主键,那就只能在where后面多一些条件直到找出唯一的筛选方法。
这个需要分情况。
1,你的数据库表中有主键,且主键上面的数据为唯一值。也就是没有重复值。
那么你在删除的时候,将这个唯一值作为条件进行删除。
如:
delete
from
[表名]
where
id=1
2所有的数据相同,那么你只能打开数据表,手工选定其中某一条,进行删除。
你所说的重复是不是指出所有字段一样?
假设a表有 a0是主键 a1 a2两个字段。
那么
delete a where a0 in
(select a0 from a group by a1,a2
having count() > 1)
select name,grade,testGrade,count() from t_student group by (name,grade,testGrade) having count()>1 where grade is null
delete from tablename a
where (asj,axqh,alh,adz1,adz2) in (select sh,xqh,lh,dz1,dz2 from tablename group by sh,xqh,lh,dz1,dz2 having count() > 1)
and sj not in (select min(sj ) from tablename group by sh,xqh,lh,dz1,dz2 having count()>1)
以上就是关于mysql数据库怎么删除重复数据如果两行的 a和b两列都一样。那么说明是重复的 删除其中一行。全部的内容,包括:mysql数据库怎么删除重复数据如果两行的 a和b两列都一样。那么说明是重复的 删除其中一行。、Mysql数据库中多条重复数据,如何只删除一条、在mysql数据库中删除重复的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)