Heim >Datenbank >MySQL-Tutorial >Wie kann ich Duplikate aus den GROUP_CONCAT()-Ergebnissen von MySQL entfernen?
Bei Datenbankabfragen wird die Funktion GROUP_CONCAT() häufig verwendet, um Werte aus mehreren Zeilen in einer einzigen Zeichenfolge zu verketten . Allerdings kann die resultierende Zeichenfolge manchmal doppelte Werte enthalten. Um dieses Problem zu beheben, stellt MySQL das DISTINCT-Attribut innerhalb von GROUP_CONCAT() bereit.
Betrachten Sie die folgende Tabelle mit einer Spalte „Kategorien“:
categories |
---|
test1 test2 test3 |
test4 |
test1 test3 |
test1 test3 |
Wenn wir die folgende Abfrage ausführen:
SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table;
Wir erhalten Folgendes Ergebnis:
test1 test2 test3 test4 test1 test3
Allerdings möchten wir möglicherweise doppelte Werte ausschließen, was zu Folgendem führt:
test1 test2 test3 test4
Um dies zu erreichen, müssen wir einfach Fügen Sie das DISTINCT-Attribut zur Funktion GROUP_CONCAT() hinzu:
SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table;
Durch Angabe von DISTINCT, MySQL entfernt doppelte Werte aus der verketteten Zeichenfolge, was zur gewünschten Ausgabe führt. Beachten Sie, dass die ORDER BY-Klausel dafür sorgt, dass die verketteten Werte in aufsteigender Reihenfolge sortiert werden.
Das obige ist der detaillierte Inhalt vonWie kann ich Duplikate aus den GROUP_CONCAT()-Ergebnissen von MySQL entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!