1
作爲示例,請考慮下表。如何使用主鍵刪除SQL表中的重複項
+-------+----------+----------+------------+
| ID(PK)| ClientID | ItemType | ItemID |
+-------+----------+----------+------------+
| 1 | 4 | B | 56 |
| 2 | 8 | B | 54 |
| 3 | 276 | B | 57 |
| 4 | 8653 | B | 25 |
| 5 | 3 | B | 55 |
| 6 | 4 | B | 56 |
| 7 | 4 | B | 56 |
| 8 | 276 | B | 57 |
| 9 | 8653 | B | 25 |
+-------+----------+----------+------------+
我們有一個過程導致我們需要刪除的重複項。在上例中,客戶端4,276和8653應該只有一個ItemType/ItemID組合。我將如何刪除我不需要的額外行。所以在這個例子中,我需要刪除ID(PK)6,7,8,9的所有行內容。現在這需要發生在一個更大的範圍內,所以我不能一個接一個地去並刪除行。是否有一個查詢將標識不是最低ID(PK)的所有ID(PK),以便我可以刪除它們?我想象一個在子查詢上運行的刪除語句,但我願意接受建議。我已經嘗試創建一個rownumber來識別重複,但是,因爲表中有一個PK,所有的行都是獨一無二的,所以對我來說沒有任何作用。
謝謝!
編輯:這是預期的結果
+-------+----------+----------+------------+
| ID(PK)| ClientID | ItemType | ItemID |
+-------+----------+----------+------------+
| 1 | 4 | B | 56 |
| 2 | 8 | B | 54 |
| 3 | 276 | B | 57 |
| 4 | 8653 | B | 25 |
| 5 | 3 | B | 55 |
+-------+----------+----------+------------+
顯示我們預期的結果。 – jarlh
你正在使用哪些DBMS(包括版本)? – mustaccio
@mustaccio我正在使用RazorSQL來訪問Azure SQL數據庫。 – acecabana