delete from myTable
where id not in
(select min(id)
from myTable
group by A, B)
tj. výběr v závorkách vrátí první id pro každé seskupení A a B; smazáním všech ID, která nejsou v této sadě, odstraníte všechny výskyty kombinace A-plus-B, které jsou "následující" po jejím prvním výskytu.
UPRAVIT :tato syntaxe se zdá být problematická:viz hlášení o chybě:
http://bugs.mysql.com/bug.php?id=5037
Možné řešení je provést toto:
delete from myTable
where id not in
(
select minid from
(select min(id) as minid from myTable group by A, B) as newtable
)