我在这里问一下在MySQL中对表进行重复数据删除的最佳方法是什么?
我有一个示例表,其中包含字段id
,name
,lastname
,user_no
,birthday
,percentage
,然后{ {1}}。我想要的是在parent_id
和percentage
字段中根据哪个记录重复以及它们有多相似来添加值。
我只想要一个方法。检查每个字段两次以检查匹配是否有效?或者,还有另一种方式吗?
答案 0 :(得分:1)
假设id
字段对每条记录都是唯一的,并且数据库中与其他类似记录的第一条记录是parent_id
读取您的第一条记录,将其字段值存储在本地变量中。
读取数据库中的每个连续记录。如果它具有parent_id
值,请转到下一条记录。
将新读取记录中的字段与先前存储记录中的字段进行比较。如果匹配足够,请更新新读取的记录的parent_id
和percentage
字段。
当你到达数据库的末尾但没有比较它的所有记录时,读取下一个父记录(即第二次,数据库中的第二个记录,假设它没有& #39;设置parent_id
字段),将其字段值存储在比较变量中,并从步骤2开始重复。
在您使用other question阅读问题描述后,您似乎想要在步骤4中更改选择条件:为了找到更好的"匹配,您不希望跳过设置了parent_id
字段的记录,而是连续使用数据库中的每个记录作为比较源。这也意味着您不希望在已设置parent_id
的情况下跳过步骤2中的记录 - 并且您将要读取数据库中的每条记录 n 次,其中 n 是其行号。