Mysql 删除某个字段的接近重复项

标签 mysql sql sql-delete

在 MySQL 中,是否可以删除某个字段等于带有前缀的另一行的字段?

例如(伪代码):

DELETE from `table` WHERE `field` = CONCAT("duplicate-of-", field)

假设我有这些行,我想删除所有具有该前缀的相应重复项

+ Field                 +
------------------------
| name               |
| duplicate-of-name  |
| name2              |
| duplicate-of-name2 |

最佳答案

您可以通过加入来做到这一点:

DELETE tdup
    FROM table tdup JOIN
         table t
         ON tdup.field = CONCAT('duplicate-of-', t.field);

关于Mysql 删除某个字段的接近重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49201365/

相关文章:

php - 从 mysql 输出 blob

mysql - 如何对不同的值求和?

sql - 全文超时异常

mysql - PHP MySQL 删除父行和子行

sql - 在从实际表中删除行之前触发从相关表中删除行

mysql - Rails 2.2.2 性能问题/错误

php - 错误 : Every derived table must have its own alias

mysql - 如何使用mysql通过table1显示table2中的数据?

sql - 修改 SQL 语句以追加表中的列

mysql - 如何删除mysql中可变数量的行?