位置: 编程技术 - 正文

MySQL去重的方法整理(mysql数据库去重)

编辑:rootadmin

推荐整理分享MySQL去重的方法整理(mysql数据库去重),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql的两种去重方式,mysql数据去重高效方法,mysql sql去重,mysql去重方式,mysql 去重语句,mysql数据去重高效方法,mysql去重方式,mysql 去重语句,内容如对您有帮助,希望把文章链接给更多的朋友!

MySQL去重的方法整理

【初级】有极少的重复行

使用distinct查出来,然后手动一行一行删除。

【中级】按照单个字段的重复去重

例如:对id字段去重

使用方法:获取id的重复字段的值,利用相同id字段所在的行中,比较出数据不同的字段,删除 除了最小(或最大)的字段所在的该行之外的所有重复的行。一般使用主键来比较,因为主键的值一定是唯一值,绝对不相同。

结果:

操作:

注意:

上述加粗并绿色的字,必须加别名,必须使用select * from (……)这样的格式,否则会报错:

[Err] - You can't specify target table 'a_tmp' for update in FROM clause

【高级】按多个字段的重复来去重

例如:对id,name相同的去重,即:对id,name都相同的算作重复行,对id相同而name不同的算作不重复行

MySQL去重的方法整理(mysql数据库去重)

使用方法:和单个字段相似,一般使用主键来比较,因为主键的值一定是唯一值。

结果:

操作:

第一种:

第二种:

将id和name字段的值连接起来插入到临时表中b_tmp,这样便可以使用【中级】的单字段的判断删除方法。

#将两字段连接的值,a_tmp表中唯一值的字段插入b_tmp表

【终极】每行都有两份一样的数据

例如:

使用方法:对于整行的数据都一样,是没办法使用SQL语句删除的,因为没有可以使用的条件限制来留下一行删除所有与其相同的行。没有不同的字段可以自己创造不同的字段,即:添加一个字段,设为自增长,并设为主键,它会自动添加上值。

结果:

操作:

添加一个自增长的字段,并暂时设为主键。

使用上面【中级】和【高级】的方法操作。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

mysql 正确清理binlog日志的两种方法 mysq正确清理binlog日志前言:MySQL中的binlog日志记录了数据库中数据的变动,便于对数据的基于时间点和基于位置的恢复,但是binlog也会日渐增大,占用

项目从MYSQL迁移至MARIADB教程 准备数据库(MySQL),若已有MySQL,可忽略.buildMySQLtable;连接MySQL;mysql-uroot-p创建数据表;mysqlcreatedatabasedemo;mysqlusedemo;mysqlcreatetablepet(namevarchar(),ownervarchar(),speci

详解MySQL分组排序求Top N MySQL分组排序求TopN表结构按照grp分组,按照num排序,每组取Top3,输出结果如下:源代码:SELECT*FROMscoreASt3WHERE(SELECTCOUNT(*)FROMscoreASt1LEFTJOINscoreASt2ONt1.grp=t2.

本文链接地址:https://www.jiuchutong.com/biancheng/349028.html 转载请保留说明!

上一篇:MySQL交换分区的实例详解(mysql分区实现)

下一篇:mysql 正确清理binlog日志的两种方法(mysql怎么清理干净)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络