文章描述
1、很多人在搬运软件的时候,会忽视自己项目是否有这些软件,就直接一键搬运了,导致自己的软件项目好多都是重复的,以下教大家如何去重。
教程描述【对于无代码基础的可能相对理解比较有难度】
一、查询重复的数据有哪些
1. SELECT c1.*
- 这表示选择表
fa_category
(别名为c1
)中的所有列。*
是一个通配符,表示选择所有列。
2. FROM fa_category c1
- 这表示查询的主表是
fa_category
,并给它起了一个别名c1
。别名在查询中用于简化表名的引用。
3. JOIN fa_category c2
- 这表示将
fa_category
表自身连接起来。JOIN
是一种表连接操作,用于将两个表中的数据根据某些条件组合起来。在这里,fa_category
表被连接到自身,c2
是fa_category
的另一个别名。
4. ON c1.name = c2.name AND c1.nickname = c2.nickname AND c1.id <> c2.id
- 这是连接条件,用于指定如何将
c1
和c2
的记录进行匹配:c1.name = c2.name
:要求c1
和c2
的name
字段值相同。c1.nickname = c2.nickname
:要求c1
和c2
的nickname
字段值相同。c1.id <> c2.id
:要求c1
和c2
的id
字段值不同,以确保不会将同一条记录与自身进行比较。
二、查询要被删除的数据,避免误删
这条SQL语句的作用是从fa_category
表中找出那些name
和nickname
字段值相同,但id
不同,且weigh
字段值较小的记录。
JOIN fa_category c2
:把表自身和自身连接起来,相当于把表复制了一份,分别叫c1
和c2
,方便比较。ON c1.name = c2.name AND c1.nickname = c2.nickname
:找出c1
和c2
中name
和nickname
都相同的记录。AND c1.id <> c2.id
:确保比较的是不同的记录,避免自己和自己比。AND c1.weigh < c2.weigh
:在满足前面条件的记录中,只选出c1
的weigh
值小于c2
的weigh
值的那些记录。
三、最后删除重复的数据【删除权重数值较小的数据】
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
暂无评论内容