Heim >Datenbank >MySQL-Tutorial >Wie verkette ich Spalten basierend auf GROUP BY in SQL?
Spaltenverbindung unter GROUP BY-Anweisung in SQL
In SQL besteht eine übliche Methode zum Kombinieren oder Verbinden von Spalten basierend auf einer GROUP BY-Anweisung darin, Aggregatfunktionen in Verbindung mit Zeichenfolgenoperatoren zu verwenden. Lassen Sie uns untersuchen, wie wir dies erreichen können.
Betrachten Sie die folgende Beispieltabelle:
ID | 用户 | 活动 | 页面URL |
---|---|---|---|
1 | 我 | act1 | ab |
2 | 我 | act1 | cd |
3 | 你 | act2 | xy |
4 | 你 | act2 | st |
Um die PageURL-Werte für jeden Benutzer und jede Aktivitätsgruppe durch Kommas getrennt zu verketten, können wir die folgende Abfrage verwenden:
SELECT [Benutzer], Aktivität, STUFF((SELECT ',' Seiten-URL FROM Tabellenname WHERE [Benutzer] = a. [Benutzer] UND Aktivität = a. Aktivität FOR XML PATH ('')) , 1, 1, '') AS URL-Liste FROM Tabellenname AS a GROUP BY [Benutzer], Aktivität
Abfrageaufschlüsselung:
Die generierte Tabelle hat das gewünschte Layout:
用户 | 活动 | URL列表 |
---|---|---|
我 | act1 | ab, cd |
你 | act2 | xy, st |
Dieser Ansatz nutzt die Leistungsfähigkeit von Aggregatfunktionen und Zeichenfolgenoperationen, um Spaltenwerte basierend auf GROUP BY-Operationen effektiv zu verketten, was ihn zu einer flexiblen Lösung für eine Vielzahl von Datenmanipulationsaufgaben macht.
Das obige ist der detaillierte Inhalt vonWie verkette ich Spalten basierend auf GROUP BY in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!