ホームページ >データベース >SQL >listagg関数の使い方

listagg関数の使い方

藏色散人
藏色散人オリジナル
2020-04-22 09:18:2831938ブラウズ

listagg関数の使い方

#listagg 関数の使用法

これは Oracle の列から行への関数: LISTAGG()

最初にサンプル コードを見てください:

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

これは最も基本的な使用法です:

LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)

使用方法は、集計関数と同様に、Group by ステートメントを通じて各グループのフィールドを結合します。 ######とても便利。

も集約関数であり、高度な使用法があります。

is over(partition by XXX)

つまり、これは次のとおりです。 Group by ステートメントを使用する場合は、LISTAGG 関数も使用できます。

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

概要: LISTAGG() は、単にそれをSUM() 関数。

以上がlistagg関数の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。