ホームページ >データベース >mysql チュートリアル >Oracle でクエリ結果を連結およびグループ化するにはどうすればよいですか?
Oracle でのクエリ結果の連結とグループ化
Oracle テーブル内のデータを扱う場合、行の連結とグループ化は、整理と分析に非常に役立ちます。情報。名前と対応するグループ名の列を含むテーブルがあるとします。
Oracle 11g 以降を使用している場合、それぞれのグループ名内で連結された名前を取得するには、LISTAGG 関数を利用できます。
SELECT group_name, LISTAGG(name, ', ') WITHIN GROUP (ORDER BY GROUP) "names" FROM name_table GROUP BY group_name
このクエリは、対応するグループ名で名前をグループ化し、連結された名前を返します。ただし、Oracle 11g を使用していない場合は、代わりに分析の使用を検討してください。
select grp, ltrim(max(sys_connect_by_path (name, ',' )), ',') scbp from (select name, grp, row_number() over (partition by grp order by name) rn from tab ) start with rn = 1 connect by prior rn = rn-1 and prior grp = grp group by grp order by grp
このクエリは、分析を使用してグループ化を処理し、それぞれのグループ名内の名前も連結します。
これらの技術を利用すると、Oracle でデータを効率的に連結およびグループ化できるため、意味のある方法で情報を分析して表示することが容易になります。
以上がOracle でクエリ結果を連結およびグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。