mysql - 从只有 1 列的表中删除重复行?

标签 mysql sql duplicates delete-row

我相信我的问题是在 SO 上提出的,但我没有找到答案。

有一个mysql表mytable,只有一列mycolumn

从表中删除重复项的 mysql 查询是什么?

最佳答案

只有一列没有 pk 或另一列可以用来查看它们是否不同? 如果是,这是一种不好的做法。考虑插入一个新列(数字)并为每条记录插入 id,然后您可以尝试此查询:

delete from table 
where counter > 1 and inner_query.mycolumn = table.mycolumn and inner_query.col_id = table.col_id from 
(select mycolumn, col_id, count (mycolumn) counter  
 from table group by  mycolumn
) inner_query

比起,你可以添加一个主键

关于mysql - 从只有 1 列的表中删除重复行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14194373/

相关文章:

mysql - 从子查询 mysql 返回一行后排除该行

c# - 在数据库应用程序中处理 SqlExceptions 的推荐方法

mysql - 从表的列中删除以 <div class ="xxx"> 和 </div> 开头的字符串

java - 在二维数组中查找重复的 INT

hash - 布隆过滤器和 FM 草图的区别

php - 在不重新加载页面的情况下从 MYSQL 表更新值?

ssh - Mysql 恢复 1GB db 错误 2006 BLOB 文件

php - 当mysql服务器宕机时触发邮件

mysql - 在nodeJS中从MYSQL中的左连接查询中选择

c++ - std::map 中的重复删除