我將我的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