delete from myTable
where id not in
(select min(id)
from myTable
group by A, B)
d.h. die Auswahl in Klammern gibt die erste ID für jede Gruppierung von A und B zurück; Durch das Löschen aller IDs, die nicht in diesem Satz enthalten sind, werden alle Vorkommen einer A-plus-B-Kombination entfernt, die "nach" ihrem ersten Vorkommen sind.
BEARBEITEN :diese Syntax scheint problematisch zu sein:siehe Fehlerbericht:
http://bugs.mysql.com/bug.php?id=5037
Eine mögliche Problemumgehung ist dies:
delete from myTable
where id not in
(
select minid from
(select min(id) as minid from myTable group by A, B) as newtable
)