我想删除重复的行,但只针对每个产品 ID,下面是我的表数据:
运行删除语句后的最终结果应该如下所示:
到目前为止,这是我的查询:
DELETE FROM `test` WHERE name IN (SELECT name FROM `test` GROUP BY name HAVING COUNT(name)>1)
最佳答案
您可以使用自联接删除基于相同 product_id
和 name
的重复行
delete a
from test a
left join test b on a.product_id = b.product_id
and a.name = b.name
and a.id > b.id
where b.product_id is not null
关于mysql - 如何删除重复的行但仅限于每个产品 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50734162/