Heim >Datenbank >MySQL-Tutorial >Wie kann ich Ergebnisse innerhalb von GROUP_CONCAT mit ORDER BY sortieren?

Wie kann ich Ergebnisse innerhalb von GROUP_CONCAT mit ORDER BY sortieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-04 11:50:14477Durchsuche

How Can I Order Results Within GROUP_CONCAT Using ORDER BY?

Ergebnisse in GROUP_CONCAT mit ORDER BY sortieren

In einer Situation, in der Sie eine Tabelle mit mehreren Zeilen pro Client haben und eine Gruppierung wünschen Um die Daten in einer bestimmten Reihenfolge zu verketten und zu verketten, kann GROUP_CONCAT mit der ORDER BY-Klausel verwendet werden. Betrachten wir eine Tabelle mit dem Namen li, die die folgenden Daten enthält:

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

Zunächst wurde eine einfache GROUP_CONCAT-Abfrage verwendet:

SELECT li.client_id, group_concat(li.views) AS views, group_concat(li.percentage) FROM li GROUP BY client_id;

Dies führte zu einer ungeordneten Verkettung:

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

Um die Ansichten in aufsteigender Reihenfolge zu ordnen, können wir GROUP_CONCAT mit ORDER BY as verwenden folgt:

SELECT li.client_id,
  group_concat(li.views ORDER BY li.views ASC) AS views,
  group_concat(li.percentage ORDER BY li.views ASC) AS percentage
FROM li GROUP BY client_id

Dadurch werden die Ergebnisse in der gewünschten Reihenfolge zurückgegeben:

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

Das obige ist der detaillierte Inhalt vonWie kann ich Ergebnisse innerhalb von GROUP_CONCAT mit ORDER BY sortieren?. 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