Maison  >  Article  >  base de données  >  Utilisation de la fonction listagg

Utilisation de la fonction listagg

藏色散人
藏色散人original
2020-04-22 09:18:2831865parcourir

Utilisation de la fonction listagg

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn