mysql删除表中的重复项

标签 mysql

我可以通过以下方式找到重复项:

select id,date,count(*) as rep,comment
     from New_opinion group by comment,
     Date,company_id having rep>1;

我相信这为我提供了与相同评论匹配的重复组中的一条记录,Date 和 company_id 接近但仅显示匹配的重复项之一。

我想选择除其中一个以外的所有副本并将其删除。 id 是主键 我已经为此工作了几个小时,并且不断收到有关操作数需要 1 列或删除非键等的错误。请帮忙,其他删除答案似乎不起作用。

最佳答案

您的评论组有多个 ID,这就是为什么您不能将它们用于 DELETE。

在字段列表中尝试 GROUP_CONCAT(id) 以查看 ID 编号列表。

要使组内容相似还不够 - 如果每个字段都相同,那么就这些字段而言,它只是一个有用的组,如果存在主键,则不会。

关于mysql删除表中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34541637/

相关文章:

mysql - 导入数据时mysql中的quotechar是什么意思?

MySql如何对数字格式后的结果进行排序?

php - post php mysql 的拆分关键字

python - 我应该如何在多模块 Python 应用程序中建立和管理数据库连接?

php - while循环进入2个不同的div?

mysql查询返回匹配元素列表的列表

php - 使用数据库检查复选框

MySQL While 循环用增量值填充表,其中没有自动增量选项

php - 通过 PHP 使用 While 循环将多个数据插入到 SQL Server

mysql select 和几个条件,但如果第一个不满足,则满足第二个