百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql数据库怎样去掉反复数据
分享文章到:

mysql数据库怎样去掉反复数据

发布时间:09/01 来源:未知 浏览: 关键词:

mysql数据库去除反复数据的办法:1、查询需要删除的记载,会保存一笔记录;2、删除反复记载,只保存一笔记录,代码为【delete a from test1 a, (...)as bid from test1 c where..】。

mysql数据库去除反复数据的办法:

1、查询需要删除的记载,会保存一笔记录。

select a.id,a.subject,a.RECEIVER from test1 a left join (select c.subject,c.RECEIVER ,max(c.id) as bid from test1 c where status=0 GROUP BY RECEIVER,SUBJECT having count(1) >1) b on a.id< b.bid where a.subject=b.subject and a.RECEIVER = b.RECEIVER and a.id < b.bid

2、删除反复记载,只保存一笔记录。留意,subject,RECEIVER 要索引,不然会很慢的。

delete a from test1 a, (select c.subject,c.RECEIVER ,max(c.id) as bid from test1 c where status=0 GROUP BY RECEIVER,SUBJECT having count(1) >1) b where a.subject=b.subject and a.RECEIVER = b.RECEIVER and a.id < b.bid;

3、查寻表中余外的反复记载,反复记载是按照单个字段(peopleId)来推断

select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

4、删除表中余外的反复记载,反复记载是按照单个字段(peopleId)来推断,只留有rowid最小的记载

delete from people where peopleId in (select peopleId from people group by peopleId  having count(peopleId) > 1) and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)

5、删除表中余外的反复记载(多个字段),只留有rowid最小的记载

delete from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

看来想偷懒使用一句命令完成这个事仿佛不太显示,还是老诚实实的分步处置吧,思绪先创立复制一个暂时表,然后对照暂时表内的数据,删除主表里的数据

alter table tableName add autoID int auto_increment not null; 
 
create table tmp select min(autoID) as autoID from tableName group by Name,Address; 
 
create table tmp2 select tableName.* from tableName,tmp where tableName.autoID = tmp.autoID; 
 
drop table tableName; 
 
rename table tmp2 to tableName;
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有155人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板