Verwendung der Listagg-Funktion
Dies ist eine Oracle-Spalte-zu-Zeile-Funktion: LISTAGG()
Sehen Sie sich zunächst den Beispielcode an:
SQL-Code
with temp as( select 'China' nation ,'Guangzhou' city from dual union all select 'China' nation ,'Shanghai' city from dual union all select 'China' nation ,'Beijing' city from dual union all select 'USA' nation ,'New York' city from dual union all select 'USA' nation ,'Bostom' city from dual union all select 'Japan' nation ,'Tokyo' city from dual ) select nation,listagg(city,',') within GROUP (order by city) from temp group by nation
Dies ist die grundlegendste Verwendung:
LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)
Die Verwendung ist: Wie bei einer Aggregatfunktion wird ein Feld jeder Gruppe durch die Group by-Anweisung zusammengefügt.
Sehr praktisch.
ist ebenfalls eine Aggregatfunktion und es gibt eine erweiterte Verwendung:
ist vorbei (Partition durch XXX)
Mit anderen Worten, es ist vorbei für Sie nicht praktikabel Wenn Sie die Group by-Anweisung verwenden, können Sie auch die LISTAGG-Funktion verwenden:
SQL-Code
with temp as( select 500 population, 'China' nation ,'Guangzhou' city from dual union all select 1500 population, 'China' nation ,'Shanghai' city from dual union all select 500 population, 'China' nation ,'Beijing' city from dual union all select 1000 population, 'USA' nation ,'New York' city from dual union all select 500 population, 'USA' nation ,'Bostom' city from dual union all select 500 population, 'Japan' nation ,'Tokyo' city from dual ) select population, nation, city, listagg(city,',') within GROUP (order by city) over (partition by nation) rank from temp
Zusammenfassung: LISTAGG() verwenden Sie es einfach als SUM()-Funktion.
Das obige ist der detaillierte Inhalt vonVerwendung der Listagg-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!