Heim > Datenbank > MySQL-Tutorial > Wie kann die STRING_AGG-Funktion von SQL Server für die gruppierte String-Aggregation verwendet werden?

Wie kann die STRING_AGG-Funktion von SQL Server für die gruppierte String-Aggregation verwendet werden?

Linda Hamilton
Freigeben: 2024-12-23 20:38:15
Original
835 Leute haben es durchsucht

How Can SQL Server's STRING_AGG Function Be Used for Grouped String Aggregation?

Gruppierte String-Aggregation: LISTAGG-Funktion in SQL Server

String-Aggregation in SQL Server bietet eine Möglichkeit, mehrere String-Werte zu einem einzigen verketteten Wert zu kombinieren Zeichenfolge. Bei der Arbeit mit gruppierten Daten ist diese Funktionalität in Szenarien wie der Erstellung durch Kommas getrennter Listen unterschiedlicher Werte von entscheidender Bedeutung.

Betrachten Sie das folgende Schema, in dem wir Automodelle innerhalb jeder Automarke aggregieren möchten:

| CarMakeID | CarMake
------------------------
| 1 | SuperCars
| 2 | MehCars

| CarMakeID | CarModelID | CarModel
-----------------------------------------
| 1 | 1 | Zoom
| 2 | 1 | Wow
| 3 | 1 | Awesome
| 4 | 2 | Mediocrity
| 5 | 2 | YoureSettling
Nach dem Login kopieren

Unsere gewünschte Ausgabe ist:

| CarMakeID | CarMake | CarModels
---------------------------------------------
| 1 | SuperCars | Zoom, Wow, Awesome
| 2 | MehCars | Mediocrity, YoureSettling
Nach dem Login kopieren

Um diese Aggregation zu erreichen, bietet SQL Server mehrere Optionen. Der empfohlene Ansatz für die Zeichenfolgenverkettung besteht jedoch darin, die Funktion STRING_AGG zu verwenden.

Die folgende überarbeitete Abfrage verwendet die Funktion STRING_AGG anstelle von AGG aus der ursprünglichen Abfrage:

SELECT *, 
(SELECT STRING_AGG(CarModel, ', ') AS CarModels
  FROM CarModels model
  WHERE model.CarMakeID = make.CarMakeID
  GROUP BY make.CarMakeID)
FROM CarMakes make
Nach dem Login kopieren

Die Funktion STRING_AGG ist eine integrierte Aggregatfunktion, die einen Spaltenwert annimmt und alle unterschiedlichen Werte zu einer einzigen Zeichenfolge zusammenfasst. Mit dem optionalen SEPARATOR-Parameter können wir das Trennzeichen zwischen Werten angeben. In diesem Fall haben wir ein Komma gewählt.

Diese Abfrage erzeugt die gewünschte Ausgabe, wobei die CarModels-Spalte eine durch Kommas getrennte Liste von Autos enthält Modelle für jede Marke.

Das obige ist der detaillierte Inhalt vonWie kann die STRING_AGG-Funktion von SQL Server für die gruppierte String-Aggregation verwendet werden?. 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