php - 如何删除重复数据

标签 php mysql

我有一个数据库 my_table [id,first,second,third],其中包含很多条目,并且想要删除条目 [first,second,third]<的重复数据.

这样 first 没有重复,second 没有重复,third 没有重复 每个上的任何重复项都将被删除。

id   first   second   third
1    addy      any     robert
2    addy     kevin    steve
3    jack      ben     adam

这里我将删除first的重复项,因此删除2 addy kevin steve

最佳答案

假设表名为 T,运行以下查询:

Select T1.id, (select count(T2.id) from T as T2 where (T2.id<T1.id) and (T1.first=T2.first or T1.second=T2.second or T1.third=T2.third)) as u from T as T1

如果 [u] 字段大于 0,则表示您在 [first]、[second] 或 [third] 中有重复出现的数据。

接下来,您需要删除这些行:

Delete from T where id in (...)

关于php - 如何删除重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8672222/

相关文章:

mysql - 获取与特定行组关联的行的行号

mysql - 需要修复子查询但无法弄清楚出了什么问题

php - 使用 PHP 显示 mysql 的输出(json 编码)

php - Laravel 获取按关系列排序的模型集合

php - 如果 && 不正确 && 不正确 && 不正确返回 true

php - WordPress 自定义帖子类型分类法 - 获取特定内容

mysql基于列从两行连接列

php - 结果未正确输入 SQL DB

php - PHP 中的单例引用和递归

php - MySQL-将一个表插入不同数据库中的另一个表