首页 >数据库 >mysql教程 >如何从表中删除重复行而不创建新行?

如何从表中删除重复行而不创建新行?

Patricia Arquette
Patricia Arquette原创
2024-12-29 13:51:14223浏览

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