Heim > Datenbank > Oracle > Verwendung der Listagg-Funktion in Oracle

Verwendung der Listagg-Funktion in Oracle

下次还敢
Freigeben: 2024-05-03 00:15:28
Original
547 Leute haben es durchsucht

Die LISTAGG-Funktion verkettet eine Reihe von Datenzeilen zu einer Zeichenfolge und verwendet dabei das angegebene Verkettungszeichen, um Elemente zu trennen. Die Verwendung umfasst: 1. Alle Werte in einer Spalte verbinden; 2. Werte mithilfe von Verbindungszeichen trennen; 4. Werte nacheinander aufteilen;

Verwendung der Listagg-Funktion in Oracle

Verwendung der LISTAGG-Funktion in Oracle

Definition:
Die LISTAGG-Funktion verkettet einen Satz von Datenzeilen zu einer Zeichenfolge und trennt die Elemente mithilfe des angegebenen Connectors.

Syntax:

<code>LISTAGG(expression, delimiter [IGNORE NULLS]) OVER (PARTITION BY partition_expression ORDER BY order_expression)</code>
Nach dem Login kopieren

Parameters:

  • Expression: Datenspalten, die angeschlossen werden sollen
  • partition_expression: die Datenspalte der Partition, gibt die Gruppe an, in der sich die Komponentenelemente befinden (optional)
  • order_expression: gibt die Reihenfolge an, in der die Elemente verbunden sind (optional)
  • Verwendung:
Das LISTAGG Die Funktion wird normalerweise verwendet, um mehrere Zeilen zur einfacheren Anzeige oder Verarbeitung zu einer einzigen Zeichenfolge zusammenzufassen. Hier sind die typischen Verwendungszwecke:

1. Alle Werte in einer Spalte verbinden

<code>SELECT LISTAGG(name) FROM table_name;</code>
Nach dem Login kopieren

2. Werte mithilfe von Joinern trennen

<code>SELECT LISTAGG(name, ', ') FROM table_name;</code>
Nach dem Login kopieren

3. NULL-Werte ignorieren

<code>SELECT LISTAGG(name IGNORE NULLS) FROM table_name;</code>
Nach dem Login kopieren

4 . Partition nach Gruppe

<code>SELECT LISTAGG(name) OVER (PARTITION BY group_id) FROM table_name;</code>
Nach dem Login kopieren
E 按5. Verbinden Sie den Wert in der Reihenfolge

<code>SELECT LISTAGG(name) OVER (ORDER BY name) FROM table_name;</code>
Nach dem Login kopieren
E Beispiel:

Die folgende Tabelle zeigt das Beispiel für die Verwendung von Listagg-Funktionen in der Mitarbeitertabelle:

Mitarbeiter-ID

Name

1John2Jane3David
<code>SELECT LISTAGG(name) FROM employees;</code>
Nach dem Login kopieren
<code>John, Jane, David</code>
Nach dem Login kopieren
Nach dem Login kopieren
Verwenden Sie Kommas als Konnektoren:
<code>SELECT LISTAGG(name, ', ') FROM employees;</code>
Nach dem Login kopieren
Verbinden Sie alle Mitarbeiternamen : Ergebnis:
Ergebnis:

<code>John, Jane, David</code>
Nach dem Login kopieren
Nach dem Login kopieren
Aufteilung nach Abteilung und Verbinden der Mitarbeiternamen für jede Abteilung:

<code>SELECT LISTAGG(name) OVER (PARTITION BY department) FROM employees;</code>
Nach dem Login kopieren
Ergebnis:

<code>John
Jane
David</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonVerwendung der Listagg-Funktion in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage