Utilisation de la fonction listagg
Il s'agit d'une fonction Oracle colonne à ligne : LISTAGG()
Regardez d'abord l'exemple de code :
Code SQL
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
Il s'agit de l'utilisation la plus basique :
LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)
L'utilisation est comme une fonction d'agrégation, un champ de chaque groupe est assemblé via l'instruction Group by.
Très pratique.
est aussi une fonction d'agrégation, et il existe un usage avancé :
est terminé (partition par XXX)
En d'autres termes, c'est pas pratique pour vous Lorsque vous utilisez l'instruction Group by, vous pouvez également utiliser la fonction LISTAGG :
Code SQL
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
Résumé : LISTAGG() utilisez-le simplement comme Fonction SOMME().
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!