delete from myTable
where id not in
(select min(id)
from myTable
group by A, B)
つまり、括弧内のselectは、AとBの各グループの最初のIDを返します。このセットに含まれていないすべてのIDを削除すると、最初の出現の「後続」であるA-plus-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
)