Mahlzeit,
ich versuche gerade eine Datenbank aufzuräumen und dazu wollte
ich mit einem Befehl doppelte (identische) Einträge löschen.
Das Problem ist nur, dass ich das nicht hinbekomme…
Ich dachte mir, dass ich einfach gruppiere, zähle und dann
lösche…
Genau:
Select a, b, c, d, e from Tabelle group by a, b, c, d, e having count(*) > 1;
Aber wenn ich ein SQL Statement mit count und group
kombiniere, dann erhalte ich ein
#1111 - Invalid use of group function
Daraus ersehe ich: Du arbeitest mit MySQL, right?
Mache ich etwas falsch? Oder muss ich wirklich auch alles
zurückgeben lassen? Lösbar ist es sicher auch so - aber ich
hätte halt gerne eine einfache und schöne lösung für das
Problem 
Das Problem ist nicht ganz so trivial. Wenn die Datensätze absolut identisch sind, ist es schwierig.
Hast Du ein Feld, bei dem die Datensätze sich doch voneinander unterscheiden (z.B. eine Satz_ID o.Ä.), kannst Du das dadurch lösen, daß Du auf diese abzielst:
delete
from Tabelle
where (a, b, c, d, e, satz\_id) in (
select a, b, c, d, e, max(satz\_id)
from Tabelle
group by a, b, c, d, e
having count(\*) \> 1);
Ansonsten bleibt nur der Weg, eine solche identifizierende Spalte hinzuzufügen (z.B. über einen AutoIncrement), die Datensätze wie oben beschrieben löschen und die Spalte wieder zu entfernen.
Gruß
Sancho