Heim >Datenbank >MySQL-Tutorial >Wie erhalte ich mit MySQLs GROUP_CONCAT() eindeutige Werte?

Wie erhalte ich mit MySQLs GROUP_CONCAT() eindeutige Werte?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-08 22:29:11283Durchsuche

How to Get Distinct Values with MySQL's GROUP_CONCAT()?

Eindeutige Werte von MySQL GROUP_CONCAT()

Bei der Arbeit mit MySQL ist es üblich, Daten mithilfe der Funktion GROUP_CONCAT() zu aggregieren. Was aber, wenn Sie sicherstellen müssen, dass die verketteten Ergebnisse eindeutig sind?

Betrachten wir das folgende Szenario:

SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table;

Mit Beispieldaten:

categories
----------
test1 test2 test3
test4
test1 test3
test1 test3

Dies Die Abfrage gibt test1 test2 test3 test4 test1 test3 zurück. Dies umfasst zwar alle Kategorien, entfernt jedoch keine Duplikate.

Um mit GROUP_CONCAT() unterschiedliche Werte zu erhalten, stellt MySQL das DISTINCT-Attribut bereit. Durch das Hinzufügen von DISTINCT zur Abfrage wird sichergestellt, dass nur unterschiedliche Werte verkettet werden:

SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table;

Durch die Verwendung von DISTINCT werden die doppelten Werte test1 test3 entfernt, was zur gewünschten Ausgabe führt: test1 test2 test3 test4.

Diese Änderung eliminiert nicht nur Duplikate, sondern sortiert auch die verketteten Werte in aufsteigender Reihenfolge und sorgt so für eine besser organisierte Ausgabe.

Das obige ist der detaillierte Inhalt vonWie erhalte ich mit MySQLs GROUP_CONCAT() eindeutige Werte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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