多次提出並回答了類似的問題。從我所能找到的信息來看,它們都是特定於特定的SQL實現(Oracle,SQL Server等)還是依賴臨時表(其中結果最初將被複制)。如何從沒有唯一鍵的只有「普通」SQL和沒有臨時表的表中刪除重複行?
我不知道他們是不是平臺無關的純DML解決方案(只是一個DELETE
聲明)的。
示例數據:表A單個字段。
---------
|account|
|-------|
| A22 |
| A33 |
| A44 |
| A22 |
| A55 |
| A44 |
---------
以下SQL Fiddle示出了基於ROWID
僞列Oracle的特定解決方案。它不適用於任何其他數據庫,並且在這裏僅作爲示例顯示。
您希望使用哪種RDBMS? – Rachcha
我不認爲有一個數據庫獨立的方式來寫這個。 –
我希望它可以在所有(或儘可能多)關係數據庫上工作。 –