Heim > Datenbank > MySQL-Tutorial > Wie kann ich mit LISTAGG durch Kommas getrennte Listen von Spaltenwerten in DB2 erstellen?

Wie kann ich mit LISTAGG durch Kommas getrennte Listen von Spaltenwerten in DB2 erstellen?

Linda Hamilton
Freigeben: 2025-01-09 14:46:42
Original
884 Leute haben es durchsucht

How Can I Create Comma-Separated Lists of Column Values in DB2 Using LISTAGG?

Generieren von durch Kommas getrennten Listen in DB2 SQL mit LISTAGG

Die DB2-Funktion LISTAGG vereinfacht die Erstellung von durch Kommas getrennten Listen von Spaltenwerten, insbesondere beim Umgang mit gruppierten Daten. Diese Funktion verkettet mithilfe eines benutzerdefinierten Trennzeichens effizient Werte aus einer angegebenen Spalte für Zeilen mit denselben Gruppierungskriterien.

Veranschaulichen wir dies anhand einer Tabelle mit den Spalten ID und Role, in der ein ID mehrere zugeordnete Role-Werte haben kann. Um eine durch Kommas getrennte Liste von Rollen für jede eindeutige ID zu generieren, verwenden Sie diese SQL-Abfrage:

<code class="language-sql">SELECT
  ID,
  LISTAGG(Role, ', ') WITHIN GROUP (ORDER BY Role ASC) AS Roles
FROM
  myTable
GROUP BY
  ID;</code>
Nach dem Login kopieren

Beispieldaten:

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

Ergebnis:

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

Die ORDER BY-Klausel in LISTAGG steuert die Reihenfolge der verketteten Werte. ORDER BY Role ASC ordnet sie aufsteigend an; ORDER BY Role DESC würde sie absteigend anordnen. Das Weglassen von ORDER BY führt zu einer undefinierten Reihenfolge.

Das obige ist der detaillierte Inhalt vonWie kann ich mit LISTAGG durch Kommas getrennte Listen von Spaltenwerten in DB2 erstellen?. 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