首頁 > 資料庫 > mysql教程 > 如何從表中刪除重複行而不建立新表?

如何從表中刪除重複行而不建立新表?

Linda Hamilton
發布: 2024-12-26 01:56:09
原創
627 人瀏覽過

How to Delete Duplicate Rows from a Table Without Creating a New Table?

從表中刪除重複行

您有一個包含重複記錄的表,並且您希望刪除它們而不建立新表。假設您有一個唯一的ID 字段,您可以使用以下查詢:

DELETE FROM Table
WHERE ID NOT IN
(
SELECT MIN(ID)
FROM Table
GROUP BY Field1, Field2, Field3, ...
)
登入後複製

範例: 假設您有下表:

id action L1_name L1_data ... L11_data
1 action1 name1 data1 ... company1
2 action2 name2 data2 ... company2
3 action1 name1 data1 ... company1

查詢將刪除id 為 3的重複記錄,留下以下內容表:

id action L1_name L1_data ... L11_data
1 action1 name1 data1 ... company1
2 action2 name2 data2 ... company2

註解:

  • 「Table」和「ID」是代表名稱。
  • 欄位清單( "Field1, Field2, ...") 應包含 ID 以外的所有欄位。
  • 此查詢可能會很慢,具體取決於關於欄位和行數。
  • 如果您沒有唯一索引,請新增一個以提高效能。

以上是如何從表中刪除重複行而不建立新表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板