问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql删除重复数据只保留一条如何实现?

发布网友 发布时间:2022-04-07 14:37

我来回答

2个回答

懂视网 时间:2022-04-07 18:58

推荐:《mysql视频教程》

mysql 删除重复数据只保留一条记录

删除重复数据保留name中id最小的记录

delete from order_info where id not in (select id from (select min(id) as id from order_info group by order_number) as b);

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

(注意:HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 和 SELECT 的交互方式类似。WHERE 搜索条件在进行分组操作之前应用;而 HAVING 搜索条件在进行分组操作之后应用。HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数。HAVING 子句可以引用选择列表中显示的任意项。)

扩展:

SQL:删除重复数据,只保留一条用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢

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

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

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

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

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

select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)

4、删除表中多余的重复记录(多个字段),只留有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)

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

select * 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)

6.消除一个字段的左边的第一位:

update tableName set [Title]=Right([Title],(len([Title])-1)) where Title like '村%'

7.消除一个字段的右边的第一位:

update tableName set [Title]=left([Title],(len([Title])-1)) where Title like '%村'

8.假删除表中多余的重复记录(多个字段),不包含rowid最小的记录

update vitae set ispass=-1 where peopleId in (select peopleId from vitae group by peopleId,seq having count(*) > 1) and seq in (select 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)

热心网友 时间:2022-04-07 16:06

mysql没用过  oracle 是在第一个字段上去重就可以,不知道mysql通用不,

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
这种情况需要准备什么样的证据才能保证维权成功,关于个人知识产权方面... 侵犯著作权罪成立的条件是什么 网站被抄袭,怎么办?官网网页内容抄袭引发的法律问题 版权申请哪家性价比高? 著作权侵权损害如何赔偿 瓷砖划痕怎么处理方法 地板砖划痕怎么去除十种方法 关于梦幻西游转区的一些问题。懂的进。 茶叶泡水发苦的原因茶叶泡水发苦是什么原因 ...那又怎么样?从化学角度讲不也是那种分子起的作 为什么新买的电脑 U盘显示不出来? 花岗岩和人造花岗岩有什么区别? 花岗岩和大理石分别属于( )。( 电脑不显示u盘怎么设置 石材是属于花岗岩还是大理石? 花岗岩属于石材吗 块料墙面和石材墙面有什么区别?块料和石材分别是指什么? 花岗岩踢脚线属于石材还是块料面 依兰特aeb燃气压力传感器坏了,汽油都没劲为什么 汽车的进气压力传感器坏了有什么现象? 我们空气压缩机是开山牌螺杆式的,控制面板显示压力传感器失灵,或供气压力过高怎么回事 滑片式空气压缩机显示供气压力传感器失灵 压力传感器出现故障了怎么办? 中国尊是哪个公司的 进气压力传感器故障原因及解决方法 中国尊多少层以上不让看风景 北京中国尊顶层可以观光了没!门票多少? 中国尊多少层多少米? 压力传感器失灵怎么办? 中国尊的设计师是谁? 华为发现风险项不让安装怎么办? 花岗岩与理石 华为外部应用检查找不到了怎么办,下载东西,华为说恶意软件,不让继续安装_百度问一问 华为发现风险项不让安装怎么回事? WPS课堂:如何打印Word文档的背景颜色与背景图片 为什么用word打印彩色的时候,页面中的彩色背景图片打印不出来啊?_百 ... 想要用微信公共号进行投票,要怎么弄? 微信服务号可以投票吗 梦到游泳有好多垃圾,上岸后发现没穿内裤,裸走去买内裤? 怎么有效防止冻疮 爬杆实训报告,急需? 有什么好的办法预防冻疮??? 如何防治冻疮? 梦见自己迷路了还光着屁股途中同样迷路的女人给自己买内裤 神武如何解除异常登录 神武怎么解除异常登陆 大学生认识实训与线路登杆自我评价 冻疮的防治措施有哪些? 神武异常登录状态怎么解除 如何预防冻疮再生 ?