Heim > Datenbank > MySQL-Tutorial > Wie erstelle ich durch Kommas getrennte Werte aus gruppierten Daten in DB2 SQL?

Wie erstelle ich durch Kommas getrennte Werte aus gruppierten Daten in DB2 SQL?

Patricia Arquette
Freigeben: 2025-01-09 14:33:42
Original
678 Leute haben es durchsucht

How to Generate Comma-Separated Values from Grouped Data in DB2 SQL?

DB2 SQL gruppierte Daten generieren durch Kommas getrennte Werte

Frage: Gibt es in DB2 SQL eine Funktion, die durch Kommas getrennte Werte gruppierter Spaltendaten direkt generieren kann?

Szenario: Wir haben eine Tabelle mit einer ID-Spalte und einer Rollenspalte. Für dieselbe ID können mehrere Zeilen vorhanden sein, wobei jede Zeile eine andere Rolle für diese ID darstellt. Das Ziel besteht darin, diese Rollen für jede eindeutige ID in einer durch Kommas getrennten Zeichenfolge zu verketten.

Beispiel:

<code>ID   | Role
------------
4555 | 2
4555 | 3
4555 | 4</code>
Nach dem Login kopieren

Erwartete Ausgabe:

<code>4555 2,3,4</code>
Nach dem Login kopieren

Antwort:

DB2 LUW 9.7 führt eine neue Funktion LITAGG ein, die dieses Problem löst.

Grammatik:

<code>LISTAGG(expression, delimiter) WITHIN GROUP (ORDER BY expression ASC|DESC)</code>
Nach dem Login kopieren

Anleitung:

  • Ausdruck: Spalte zum Verknüpfen
  • Trennzeichen: Das zwischen verketteten Werten verwendete Trennzeichen (z. B.,,)

Verwendung:

Um die durch Kommas getrennten Rollenwerte für jede eindeutige ID abzurufen, können Sie die folgende Abfrage verwenden:

<code>SELECT id, LISTAGG(role, ', ') WITHIN GROUP (ORDER BY role ASC) AS roles
FROM myTable
GROUP BY id;</code>
Nach dem Login kopieren

Ausgabe:

<code>ID   | roles
------------
4555 | 2,3,4</code>
Nach dem Login kopieren

Zusätzliche Hinweise:

  • Die ORDER BY-Klausel in der LISTAGG-Funktion bestimmt die Reihenfolge der Verknüpfungen.
  • Wenn keine ORDER BY-Klausel angegeben ist, werden die Werte in beliebiger Reihenfolge verkettet.
  • Die Funktion
  • LISTAGG kann auch zum Generieren anderer Arten von Verbindungszeichenfolgen verwendet werden, beispielsweise durch Zeilenumbrüche getrennte Werte.

Das obige ist der detaillierte Inhalt vonWie erstelle ich durch Kommas getrennte Werte aus gruppierten Daten in DB2 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