Heim > Datenbank > MySQL-Tutorial > Wie kann ich Duplikate aus der MySQL-Funktion GROUP_CONCAT() entfernen?

Wie kann ich Duplikate aus der MySQL-Funktion GROUP_CONCAT() entfernen?

Susan Sarandon
Freigeben: 2024-12-26 13:29:09
Original
769 Leute haben es durchsucht

How Can I Remove Duplicates from MySQL's GROUP_CONCAT() Function?

Duplikate aus GROUP_CONCAT() mit DISTINCT eliminieren

In MySQL ist GROUP_CONCAT() eine nützliche Funktion zum Aggregieren von Werten aus mehreren Zeilen in einem einzelne durch Kommas getrennte Zeichenfolge. Wenn Sie jedoch mit nicht eindeutigen Werten arbeiten, können in der resultierenden Zeichenfolge Duplikate auftreten. Um dieses Problem zu beheben, kann das DISTINCT-Attribut innerhalb der Funktion GROUP_CONCAT() verwendet werden.

Problem:

Betrachten Sie die folgende Beispieldatentabelle mit einer Spalte „Kategorien“:

categories
test1 test2 test3
test4
test1 test3
test1 test3

Beim Ausführen der folgenden GROUP_CONCAT()-Abfrage:

SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table
Nach dem Login kopieren

Das Ergebnis ist:

test1 test2 test3 test4 test1 test3
Nach dem Login kopieren

Das gewünschte Ergebnis ist jedoch:

test1 test2 test3 test4
Nach dem Login kopieren
Nach dem Login kopieren

Lösung:

So entfernen Sie doppelte Werte aus GROUP_CONCAT() Ergebnis verwenden Sie das DISTINCT-Attribut wie folgt:

SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table
Nach dem Login kopieren

Das DISTINCT-Attribut stellt sicher, dass nur eindeutige Werte im enthalten sind verkettete Zeichenfolge. Mit der ORDER BY-Klausel werden die Werte in aufsteigender Reihenfolge sortiert. Das Ergebnis ist eine durch Kommas getrennte Zeichenfolge, die nur die unterschiedlichen Kategorien enthält:

test1 test2 test3 test4
Nach dem Login kopieren
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Duplikate aus der MySQL-Funktion GROUP_CONCAT() entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage