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

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

Linda Hamilton
发布: 2024-12-26 01:56:09
原创
666 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板