delete from myTable
where id not in
(select min(id)
from myTable
group by A, B)
dvs. markeringen i parentes returnerer det første id for hver gruppering af A og B; sletning af alle id'er, der ikke er i dette sæt, vil fjerne alle forekomster af en A-plus-B-kombination, der er "efterfølgende" til dens første forekomst.
REDIGER :denne syntaks ser ud til at være problematisk:se fejlrapport:
http://bugs.mysql.com/bug.php?id=5037
En mulig løsning er at gøre dette:
delete from myTable
where id not in
(
select minid from
(select min(id) as minid from myTable group by A, B) as newtable
)