ホームページ > データベース > mysql チュートリアル > DB2 のグループから値のカンマ区切りリストを作成するにはどうすればよいですか?

DB2 のグループから値のカンマ区切りリストを作成するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-09 14:36:40
オリジナル
1013 人が閲覧しました

How Can I Create Comma-Separated Lists of Values from Groups in DB2?

DB2 のグループごとにカンマ区切りの出力を生成します

DB2 組み込み関数 LISTAGG は、同じグループ化の列値をカンマで区切って連結できます。これは、グループ内のデータを結合する必要がある場合に便利です。

たとえば、テーブルに ID と Role の 2 つの列が含まれており、3 つの行の ID は同じですが、Role 値が異なるとします。目標は、各 ID のロール値をカンマ区切りのリストに連結することです。

DB2 LUW 9.7 以降で導入された LISTAGG 関数は、これを実現します。

SELECT ID, LISTAGG(Role, ', ') AS Roles
FROM myTable
GROUP BY ID;
ログイン後にコピー

このクエリは目的の出力を生成します:

<code>ID   Roles
----------
4555 2,3,4</code>
ログイン後にコピー
ログイン後にコピー

WITHIN GROUP 句と ORDER BY ステートメントを使用して、値を連結する順序を指定できることに注意してください。これにより、値がリストされる順序をより細かく制御できるようになります:

SELECT ID, LISTAGG(Role, ', ') WITHIN GROUP (ORDER BY Role ASC) AS Roles
FROM myTable
GROUP BY ID;
ログイン後にコピー

この場合、出力は次のようになります:

<code>ID   Roles
----------
4555 2,3,4</code>
ログイン後にコピー
ログイン後にコピー

LISTAGG DB2 でデータを集約および結合する便利な方法を提供し、効率的なグループベースの文字列操作を可能にします。

以上がDB2 のグループから値のカンマ区切りリストを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート