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

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

Patricia Arquette
Patricia Arquette原創
2024-12-29 13:51:14208瀏覽

How Can I Delete Duplicate Rows from a Table Without Creating a New One?

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

您有一個包含重複記錄的表,您希望在不建立新記錄的情況下刪除該記錄新表。這可以透過以下方法來實現:

首先假設表格包含唯一的 ID 欄位。透過比較 ID 以外的所有欄位中的值(例如 L1_name、L2_name 等)來識別重複記錄。

辨識出重複項後,繼續刪除所有與重複值相符但具有重複值的記錄。與該組重複項中的最小 ID 不同的 ID。

用查詢:

DELETE FROM Table
WHERE ID NOT IN
(
  SELECT MIN(ID)
  FROM Table
  GROUP BY L1_name, L2_name, L3_name, ...
)

記得將「Table」和「ID」替換為實際的表格名稱和ID欄位名稱。此外,GROUP BY 子句中的欄位清單應包括 ID 以外的所有欄位。

此查詢將有效刪除重複記錄,而無需建立額外的表。應該注意的是,效能可能會根據涉及的欄位和行數而有所不同。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn