我将我的Tensorflow图像分类器的结果保存在SQL数据库中。我有3张桌子。图像,类别和一个表格将两个与权重变量连接起来。有些图片没有关系,有些图片有很多。删除重复行但保持多对多关系
问题是我在图像表中有需要删除的重复行。但是如果重复的图像有一个或多个,我需要保留多对多的关系。
下面是一个例子:
表名:my_images
+----+------------+-----------------+
| ID | image_path | image_filename |
+----+------------+-----------------+
| 1 | Film 1 | Film 1 001.jpg |
| 2 | Film 1 | Film 1 001.jpg |
| 3 | Film 1 | Film 1 002.jpg |
| 4 | Film 1 | Film 1 002.jpg |
| 5 | Film 1 | Film 1 003.jpg |
| 6 | Film 1 | Film 1 003.jpg |
+----+------------+-----------------+
表名:my_terms
+---------+------------+
| term_id | term_name |
+---------+------------+
| 1 | cat |
| 2 | dog |
| 3 | automobile |
+---------+------------+
表名:my_term_relationships
+----------+---------+---------+
| image_id | term_id | weight |
+----------+---------+---------+
| 2 | 1 | 0.58516 |
| 2 | 3 | 0.16721 |
| 3 | 2 | 0.21475 |
+----------+---------+---------+
所以在这个例子中,理想的结果是从my_images删除第1,4行和第5或6行。
,因为它是一个很长的时间,因为我已经做了真正的SQL查询我不会张贴解答。 我会先创建一个删除dups的查询,就像这里第二个最常见的答案:https://stackoverflow.com/questions/4685173/delete-all-duplicate-rows-except-for-one-in-mysql 然后,我会添加到您的my_term_relationships中选定的ID必须存在的子查询。 希望它有帮助 – Logar
顺便说一下,是否有可能在'my_term_relationships'中的不同id下引用了相同的image_filename?如果是的话,那么我的上述命题将不起作用。在这种情况下,我建议先清理'my_terms_relationships'表,以便在此表中只有每个image_filename有一个image_id。然后我的上述评论将是相关的我认为 – Logar