如何删除此设置中的重复项?
id A B ---------------- 1 apple 2 2 orange 1 3 apple 2 4 apple 1
在这里,我要删除两次的(apple,2)。ID号是唯一的。如果没有,我会使用DISTINCT关键字。我可以通过A列和B列创建一个键,然后使用DISTINCT关键字获得所需的内容吗?非常感谢您的答复。
delete from myTable where id not in (select min(id) from myTable group by A, B)
也就是说,括号中的select返回A和B的每个分组的第一个ID;删除不在此集合中的所有ID,将删除A-B组合首次出现后的所有出现。
编辑 :此语法似乎有问题:请参阅错误报告:
http://bugs.mysql.com/bug.php?id=5037
可能的解决方法是:
delete from myTable where id not in ( select minid from (select min(id) as minid from myTable group by A, B) as newtable )