In MYSQL kann bei UPDATE/DELETE leider nicht die aktuell genutzte Tabelle nochmal in der WHERE(SELECT) Clausel benutzt werden.
(Beschrieben in http://dev.mysql.com/doc/refman/5.6/en/update.html)
Folgendes Statement wird in einem MYSQL ERROR 1093 enden.
DELETE FROM `table` WHERE CID IN ( SELECT DISTINCT CID FROM `table` GROUP BY COLUMN1, ... ,COLUMN4 HAVING COUNT(*) > 1 )
Mit einem verschachtelten Subquery kommt man aber ans Ziel.
DELETE FROM `table` WHERE CID IN ( SELECT CID FROM (SELECT DISTINCT CID FROM `table` GROUP BY COLUMN1, ... ,COLUMN4 HAVING COUNT(*) > 1) AS tmptable )