如何在Mysql中删除相同的值[重复]

Posted

技术标签:

【中文标题】如何在Mysql中删除相同的值[重复]【英文标题】:How delete same value in Mysql [duplicate] 【发布时间】:2016-08-13 23:35:45 【问题描述】:

我想删除主题字段中的相同值并保留第一行值。

比如

no topic 

1  1234 

2  1234 

3  1234

否 = 自动增量

输出

no topic

1  1234

这是我的代码

$sql ="DELETE FROM data
WHERE no IN (SELECT * 
             FROM (SELECT no FROM data
                   GROUP BY topic HAVING (COUNT(*) > 1)
                  ) AS A
             )";

此代码删除第一个值,但我想删除所有相同的值并保留第一个值,例如示例。

【问题讨论】:

【参考方案1】:

试试这个

DELETE FROM data
WHERE no NOT IN (SELECT no FROM
                   (SELECT MIN(no) as no,topic FROM data
                    GROUP BY topic
                   )NotDelete
                );

sqlfiddle

【讨论】:

非常感谢这段代码为我工作。

以上是关于如何在Mysql中删除相同的值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

请问在mysql中如何删除 两个字段相同的数据?

面试官:MySQL 如何查找删除重复行?我竟然写不出来。。

面试官:MySQL 如何查找删除重复行?我竟然写不出来。。

MySQL:GROUP_CONCAT 中的 DISTINCT 删除相同的值(不重复)

如何删除R中两列中具有相同值但ID不同的行[重复]

如何在mysql,php的单个查询中设置与自动递增ID值相同的任何列值[重复]