我想删除重复的行但仅针对每个产品ID,下面是我的表数据:
,运行删除语句后最终结果应如下所示:
这是我目前的查询:
DELETE FROM `test` WHERE name IN (SELECT name FROM `test` GROUP BY name HAVING COUNT(name)>1)
答案 0 :(得分:0)
答案 1 :(得分:0)
我想你可以尝试一下。这对我有用。
DELETE FROM test WHERE id NOT IN (SELECT min(a.id) FROM test a GROUP BY a.name)
方面。
答案 2 :(得分:0)
delete t1 from test t1 join test t2
on t1.name = t2.name and t1.product_id = t2.product_id and t1.id > t2.id;
这对我有用。
我已经完成了自我联接以找到重复的值。