Heim > Datenbank > MySQL-Tutorial > Wie kann ich verkettete Werte innerhalb der SQL-Funktion GROUP_CONCAT anordnen?

Wie kann ich verkettete Werte innerhalb der SQL-Funktion GROUP_CONCAT anordnen?

Barbara Streisand
Freigeben: 2024-12-02 03:47:10
Original
727 Leute haben es durchsucht

How Can I Order Concatenated Values within SQL's GROUP_CONCAT Function?

GROUP_CONCAT-Funktionen erweitert um ORDER BY

In SQL wird die GROUP_CONCAT-Funktion verwendet, um Werte aus einer Spalte für eine bestimmte Gruppe von Zeilen zu verketten . Die Reihenfolge der verketteten Werte ist jedoch normalerweise unvorhersehbar.

Die Herausforderung:

Beachten Sie die folgende Tabelle:

client_id views percentage
1 6 20
1 4 55
1 9 56
1 2 67
1 7 80
1 5 66
1 3 33
1 8 34
1 1 52

Durch Ausführen von a Bei der Operation GROUP_CONCAT handelt es sich um Daten konsolidiert:

SELECT li.client_id, group_concat(li.views) AS views, group_concat(li.percentage) FROM li GROUP BY client_id;
Nach dem Login kopieren

Ausgabe:

client_id views percentage
6,4,9,2,7,5,3,8,1 20,55,56,67,80,66,33,34,52

Die Reihenfolge der Ansichten ist jedoch nicht wie erforderlich. Um die verketteten Werte in aufsteigender Reihenfolge zu organisieren, kann eine ORDER BY-Klausel in die Funktion GROUP_CONCAT eingefügt werden:

SELECT li.client_id, group_concat(li.views ORDER BY li.views) AS views, group_concat(li.percentage ORDER BY li.views) FROM li GROUP BY client_id
Nach dem Login kopieren

Die geänderte Abfrage gibt die folgende Ausgabe zurück:

client_id views percentage
1 1,2,3,4,5,6,7,8,9 52,67,33,55,66,20,80,34,56

Diese Änderung stellt sicher dass die Spalte „Ansichten“ innerhalb jeder Kundengruppe in aufsteigender Reihenfolge angeordnet ist.

Das obige ist der detaillierte Inhalt vonWie kann ich verkettete Werte innerhalb der SQL-Funktion GROUP_CONCAT anordnen?. 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