Heim > Datenbank > MySQL-Tutorial > Wie sortiere ich Werte innerhalb eines GROUP_CONCAT-Strings in MySQL?

Wie sortiere ich Werte innerhalb eines GROUP_CONCAT-Strings in MySQL?

Barbara Streisand
Freigeben: 2024-11-16 10:27:03
Original
926 Leute haben es durchsucht

How to Sort Values Within a GROUP_CONCAT String in MySQL?

Sortieren von GROUP_CONCAT-Werten in MySQL

Im Bereich MySQL kann es sein, dass Sie die von einer GROUP_CONCAT-Anweisung zurückgegebenen Daten bearbeiten müssen. Eine häufige Anforderung besteht darin, die Werte innerhalb der verketteten Zeichenfolge zu sortieren.

Um dies zu erreichen, können Sie das versteckte Juwel der GROUP_CONCAT-Funktion nutzen: die ORDER BY-Klausel. Durch Hinzufügen einer ORDER BY-Klausel zur Unterabfrage innerhalb von GROUP_CONCAT können Sie die Werte sortieren, bevor sie verkettet werden.

Betrachten Sie beispielsweise die folgende Abfrage:

GROUP_CONCAT((SELECT GROUP_CONCAT(parent.name SEPARATOR " » ") 
FROM test_competence AS node, test_competence AS parent 
WHERE node.lft BETWEEN parent.lft AND parent.rgt 
  AND node.id = l.competence 
  AND parent.id != 1 
ORDER BY parent.lft) SEPARATOR "<br />\n") AS competences
Nach dem Login kopieren

Diese Abfrage gibt Zeilen zurück mit den verketteten Werten der Spalte „parent.name“, sortiert in aufsteigender Reihenfolge basierend auf der Spalte „parent.lft“.

Wenn Sie jedoch eine bestimmte Reihenfolge wünschen, z. B. eine absteigende Reihenfolge, passen Sie einfach die ORDER BY-Klausel an:

... ORDER BY parent.lft DESC
Nach dem Login kopieren

Es ist erwähnenswert, dass die ORDER BY-Klausel in GROUP_CONCAT nur auf die innerste Unterabfrage anwendbar ist. Wenn Sie eine Unterabfrage mit mehreren Ebenen haben, sind die äußeren Abfragen von der ORDER BY-Klausel nicht betroffen.

Das obige ist der detaillierte Inhalt vonWie sortiere ich Werte innerhalb eines GROUP_CONCAT-Strings in MySQL?. 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