Heim > Datenbank > MySQL-Tutorial > Wie gruppiert man Daten und verkettet Werte mit Komma-Trennzeichen in SQL?

Wie gruppiert man Daten und verkettet Werte mit Komma-Trennzeichen in SQL?

Susan Sarandon
Freigeben: 2025-01-07 19:56:41
Original
718 Leute haben es durchsucht

How to Group Data and Concatenate Values with Comma Separators in SQL?

SQL-Gruppierung und Verkettung mit Komma-Trennzeichen

Diese Anleitung zeigt, wie Sie eine SQL-Abfrage schreiben, die Daten gruppiert und aggregierte Werte mithilfe von Kommatrennzeichen verkettet. Stellen Sie sich einen Tisch wie diesen vor:

<code>| ID | Value |
|-----|-------|
| 1   | a     |
| 1   | b     |
| 2   | c     |</code>
Nach dem Login kopieren

Das Ziel besteht darin, eine Ergebnismenge zu generieren, in der Werte für dieselbe ID in einer einzigen durch Kommas getrennten Zeichenfolge kombiniert werden:

<code>| ID | Value |
|-----|-------|
| 1   | a,b   |
| 2   | c     |</code>
Nach dem Login kopieren

Lösung mit FOR XML PATH:

Das FOR XML PATH-Konstrukt bietet eine effiziente Möglichkeit, dies zu erreichen:

<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

Die Funktion STUFF entfernt das durch die SELECT-Anweisung hinzugefügte führende Komma und Leerzeichen. Dieser Ansatz wird im Allgemeinen aufgrund seiner Leistung und Lesbarkeit bevorzugt.

Weiterführende Literatur:

Weitere fortgeschrittene Szenarien und alternative Techniken finden Sie in diesen Ressourcen:

  • Stack Overflow: Ein relevanter Stack Overflow-Thread, der ähnliche Verkettungsherausforderungen bespricht (suchen Sie nach „SQL-Gruppe nach Verkettung“).
  • SQL Server-Dokumentation: Ausführliche Informationen zu FOR XML PATH und verwandten Funktionen finden Sie in der offiziellen Microsoft-Dokumentation.

Diese überarbeitete Antwort verbessert die Klarheit, bietet eine prägnantere Erklärung und bietet hilfreiche Links zum weiteren Lernen. Das Bild bleibt an seiner ursprünglichen Position.

Das obige ist der detaillierte Inhalt vonWie gruppiert man Daten und verkettet Werte mit Komma-Trennzeichen in SQL?. 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