Dies ähnelt der Abfrage von Gordon Linoff, jedoch ohne die Unterabfrage:
DELETE t1 FROM table t1
JOIN table t2
ON t2.refID = t1.refID
AND t2.ID < t1.ID
Dies verwendet einen inneren Join, um nur Zeilen zu löschen, in denen es eine andere Zeile mit derselben refID, aber einer niedrigeren ID gibt.
Der Vorteil der Vermeidung einer Unterabfrage besteht darin, einen Index für die Suche verwenden zu können. Diese Abfrage sollte mit einem mehrspaltigen Index auf refID + ID gut funktionieren.