我想删除重复的行,但只针对每个产品id,下面是我的表数据:
运行delete语句后,最终结果如下所示:
到目前为止,我的问题是:
DELETE FROM `test` WHERE name IN (SELECT name FROM `test` GROUP BY name HAVING COUNT(name)>1)
发布于 2018-06-07 14:27:35
您可以使用自连接根据相同的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
发布于 2018-06-07 14:33:42
我想你可以试试这个。这是我的工作。
DELETE FROM test WHERE id NOT IN (SELECT min(a.id) FROM test a GROUP BY a.name)
请注意。
https://stackoverflow.com/questions/50734162
复制相似问题