ホームページ >データベース >mysql チュートリアル >LISTAGG を使用して DB2 で列値のカンマ区切りリストを作成するにはどうすればよいですか?
LISTAGG を使用した DB2 SQL でのカンマ区切りリストの生成
DB2 LISTAGG
関数は、特にグループ化されたデータを扱う場合に、列値のカンマ区切りリストの作成を簡素化します。この関数は、カスタム区切り文字を使用して、同じグループ化基準を共有する行の指定された列の値を効率的に連結します。
ID
列と Role
列を含むテーブルで説明します。ID
には複数の関連する Role
値が含まれる可能性があります。 一意の ID ごとにロールのカンマ区切りのリストを生成するには、次の SQL クエリを使用します。
<code class="language-sql">SELECT ID, LISTAGG(Role, ', ') WITHIN GROUP (ORDER BY Role ASC) AS Roles FROM myTable GROUP BY ID;</code>
データ例:
<code>ID | Role ------------ 4555 | 2 4555 | 3 4555 | 4</code>
結果:
<code>ID | Roles ------------ 4555 | 2, 3, 4</code>
ORDER BY
内の LISTAGG
句は、連結された値の順序を制御します。 ORDER BY Role ASC
はそれらを昇順に配置します。 ORDER BY Role DESC
は降順に並べます。 ORDER BY
を省略すると、順序は不定になります。
以上がLISTAGG を使用して DB2 で列値のカンマ区切りリストを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。