开发者社区> 问答> 正文

从表中删除重复的行?mysql

我的数据库中有一个表,其中有要删除的重复记录。我不想为此创建具有不同条目的新表。我想要的是从现有表中删除重复的条目,而无需创建任何新表。有什么办法吗?

id action L1_name L1_data L2_name L2_data L3_name L3_data
L4_name L4_data L5_name L5_data L6_name L6_data L7_name L7_data L8_name L8_data L9_name L9_data L10_name L10_data L11_name L11_data L12_name L12_data L13_name L13_data L14_name L14_data L15_name L15_data 看到这些都是我的字段: id对于每一行都是唯一的。 L11_data对于相应的动作字段是唯一的。 L11_data具有公司名称,而动作具有行业名称。

因此,在我的数据中,我在L11_data中有各自行业的重复公司名称。

我要拥有的是存储在行动中的特定行业中公司的唯一名称和其他数据。我希望我已经以您能理解的方式陈述了我的问题。

展开
收起
保持可爱mmm 2020-05-17 14:12:53 372 0
1 条回答
写回答
取消 提交回答
  • 是的,假设您具有唯一的ID字段,则可以删除除ID之外所有相同的记录,但是它们的值组没有“最小ID”。

    查询示例:

    DELETE FROM Table WHERE ID NOT IN ( SELECT MIN(ID) FROM Table GROUP BY Field1, Field2, Field3, ... ) 笔记:

    我自由选择“表格”和“ ID”作为代表名称 字段列表(“ Field1,Field2,...”)应包括ID以外的所有字段 这可能是一个缓慢的查询,具体取决于字段和行的数量,但是与其他方法相比,我希望它可以 编辑:如果您没有唯一索引,我的建议是简单地添加一个自动递增的唯一索引。主要是因为它的设计很好,还因为它可以让您运行上面的查询。来源:stack overflow

    2020-05-17 14:17:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像