Heim > Datenbank > MySQL-Tutorial > Wie rufe ich durch Kommas getrennte aggregierte SQL-Ergebnisse mithilfe von GROUP BY ab?

Wie rufe ich durch Kommas getrennte aggregierte SQL-Ergebnisse mithilfe von GROUP BY ab?

Barbara Streisand
Freigeben: 2025-01-07 20:23:40
Original
244 Leute haben es durchsucht

How to Retrieve Comma-Separated Aggregated SQL Results Using GROUP BY?

Generieren von durch Kommas getrennten aggregierten Daten in SQL mit GROUP BY

Diese Anleitung erklärt, wie Sie Daten in SQL effizient aggregieren und die Ergebnisse als durch Kommas getrennte Listen ausgeben, die nach einer bestimmten Spalte gruppiert sind. Dies ist eine häufige SQL-Aufgabe mit mehreren Lösungen.

Die Herausforderung

Stellen Sie sich eine Tabelle vor, die so aufgebaut ist:

ID Value
1 a
1 b
2 c

Ziel ist es, diese Daten zu konsolidieren, nach der Spalte ID zu gruppieren und die entsprechenden Value-Einträge in einer einzigen durch Kommas getrennten Zeichenfolge für jede Gruppe zu verketten.

Die Lösung: Nutzung von FOR XML PATH

Eine leistungsstarke und prägnante Methode nutzt das FOR XML PATH-Konstrukt:

<code class="language-sql">SELECT
    ID,
    STUFF((SELECT ', ' + Value
           FROM YourTable t2
           WHERE t1.ID = t2.ID
           FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '') AS Values
FROM YourTable t1
GROUP BY ID;</code>
Nach dem Login kopieren

Diese Abfrage verwendet eine Unterabfrage mit FOR XML PATH(''), um eine XML-Darstellung der verketteten Werte zu generieren. Die Methode .value('.', 'NVARCHAR(MAX)') extrahiert dies als String. Schließlich entfernt STUFF das führende Komma und das Leerzeichen.

Weitere Erkundung

Fortgeschrittenere Szenarien und alternative Ansätze finden Sie in den folgenden Ressourcen:

  • SQL: Kombinieren von Daten aus mehreren Tabellen in einer einzigen durch Kommas getrennten Liste
  • Effiziente SQL-Techniken für die String-Aggregation

Durch die Verwendung der FOR XML PATH-Methode oder die Erkundung anderer SQL-Techniken können Sie Ihre Daten effektiv aggregieren und in einem benutzerfreundlichen, durch Kommas getrennten Format darstellen.

Das obige ist der detaillierte Inhalt vonWie rufe ich durch Kommas getrennte aggregierte SQL-Ergebnisse mithilfe von GROUP BY ab?. 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