Obwohl diese Frage vor zwei Jahren gestellt wurde, haben die Lösungen group_concat nicht verwendet. so halten esremove mysql group_concat ausgewählte Zeilen
id name
1 Tim
2 Sam
3 Bob
4 Joe
5 Ali
6 Kay
7 Bob
8 Joe
laufen folgende
select name, count(*) c, group_concat(id) rows
from table
group by name
having c > 1;
gibt
name c rows
Bob 2 3,7
Joe 2 4,8
ist möglich, eine Tabelle kurz ist, um dann Reihen 3,7,4 und 8 aus meinem Tisch zu entfernen, ohne ein Skript schreiben? Ich denke, ich brauche group_concat, weil in Wirklichkeit meine "Name" -Spalte eine Verkettung von drei Spalten in der Tabelle ist.
Warum Gebrauch ' GROUP_CONCAT() 'überhaupt? Verwenden Sie einfach einen Join: 'DELETE t1 FROM Tabelle t1 NATURAL JOIN (SELECT Name FROM Tabelle GROUP BY Name HAVING COUNT (*)> 1) t2'? – eggyal
danke das gab mir ein paar Ideen, ich benutzte schließlich kurze Skript mit einer ähnlich aussehenden Abfrage, um die IDs zu wählen, die ich ohne group_concat löschen wollte und löschte jede. – nak3c