Heim >Datenbank >MySQL-Tutorial >Wie erhalte ich mit MySQLs GROUP_CONCAT() eindeutige Werte?
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!