Heim > Datenbank > MySQL-Tutorial > Wie aggregiere ich Zeichenfolgenfelder in SQL Server mithilfe eines LISTAGG-Äquivalents?

Wie aggregiere ich Zeichenfolgenfelder in SQL Server mithilfe eines LISTAGG-Äquivalents?

Linda Hamilton
Freigeben: 2025-01-22 13:12:13
Original
235 Leute haben es durchsucht

How to Aggregate String Fields in SQL Server Using a LISTAGG Equivalent?

Verwenden der Funktion STRING_AGG zum Aggregieren von Zeichenfolgenfeldern in SQL Server

Frage: Wie aggregiert man Zeichenfolgenfelder in einer SQL Server-Abfrage effizient, ähnlich der LISTAGG-Funktion in anderen Datenbanksystemen?

Lösung:

SQL Server stellt die Funktion STRING_AGG als gleichwertigen Ersatz für die LISTAGG-Funktion bereit. Die Syntax lautet wie folgt:

<code class="language-sql">STRING_AGG ( expression, separator ) WITHIN GROUP ( ORDER BY order_expression [ ASC | DESC ] )</code>
Nach dem Login kopieren
  • expression: Zu aggregierender String-Ausdruck.
  • separator: Zeichen oder Zeichenfolge, die zum Trennen von Aggregatzeichenfolgen verwendet wird.
  • order_expression: Ausdruck, der zum Sortieren von Aggregatzeichenfolgen verwendet wird. ASC bedeutet aufsteigende Reihenfolge, DESC bedeutet absteigende Reihenfolge.

Beispiel:

Angenommen, es gibt eine Tabelle mit dem Namen MyTable, die zwei Felder FieldA und FieldB enthält. Die folgende Abfrage verwendet die Funktion STRING_AGG, um die Werte in FieldB in einer durch Kommas getrennten Zeichenfolge zusammenzufassen, gruppiert nach FieldA:

<code class="language-sql">SELECT FieldA, STRING_AGG(FieldB, ',') WITHIN GROUP (ORDER BY FieldB) AS AggregatedFieldB
FROM MyTable
GROUP BY FieldA
ORDER BY FieldA;</code>
Nach dem Login kopieren

Erwartete Ergebnisse:

Diese Abfrage gibt Ergebnisse ähnlich dem folgenden Format zurück:

<code>FieldA | AggregatedFieldB
-------|-----------------
1       | Value1, Value2, Value3
2       | Value4, Value5</code>
Nach dem Login kopieren

Dies zeigt, dass die STRING_AGG-Funktion die FieldA-Werte in jeder FieldB-Gruppe erfolgreich zu einer einzigen Zeichenfolge verkettet. Beachten Sie, dass die Werte in der resultierenden Zeichenfolge gemäß der ORDER BY FieldB-Klausel geordnet sind.

Durch die Verwendung der Funktion STRING_AGG können Sie die Aggregation von Zeichenfolgenfeldern in SQL Server einfach implementieren und so die Datenverarbeitung und Berichtserstellung vereinfachen.

Das obige ist der detaillierte Inhalt vonWie aggregiere ich Zeichenfolgenfelder in SQL Server mithilfe eines LISTAGG-Äquivalents?. 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