Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menjana Nilai Dipisahkan Koma daripada Data Berkumpulan dalam DB2 SQL?

Bagaimana untuk Menjana Nilai Dipisahkan Koma daripada Data Berkumpulan dalam DB2 SQL?

Patricia Arquette
Lepaskan: 2025-01-09 14:33:42
asal
628 orang telah melayarinya

How to Generate Comma-Separated Values from Grouped Data in DB2 SQL?

Data kumpulan SQL DB2 menjana nilai dipisahkan koma

Soalan: Adakah terdapat fungsi dalam DB2 SQL yang boleh menjana secara langsung nilai diasingkan koma data lajur terkumpul?

Senario: Kami mempunyai jadual dengan lajur ID dan lajur Peranan. Mungkin terdapat berbilang baris untuk ID yang sama, dengan setiap baris mewakili peranan yang berbeza untuk ID tersebut. Matlamatnya adalah untuk menggabungkan peranan ini menjadi rentetan yang dipisahkan koma untuk setiap ID unik.

Contoh:

<code>ID   | Role
------------
4555 | 2
4555 | 3
4555 | 4</code>
Salin selepas log masuk

Keluaran yang dijangkakan:

<code>4555 2,3,4</code>
Salin selepas log masuk

Jawapan:

DB2 LUW 9.7 memperkenalkan fungsi baharu LITAGG yang menyelesaikan masalah ini.

Tatabahasa:

<code>LISTAGG(expression, delimiter) WITHIN GROUP (ORDER BY expression ASC|DESC)</code>
Salin selepas log masuk

Arahan:

  • ungkapan: Lajur untuk menyertai
  • pembatas: Pembatas yang digunakan antara nilai yang digabungkan (cth.,,)

Penggunaan:

Untuk mendapatkan semula nilai peranan yang dipisahkan koma untuk setiap ID unik, anda boleh menggunakan pertanyaan berikut:

<code>SELECT id, LISTAGG(role, ', ') WITHIN GROUP (ORDER BY role ASC) AS roles
FROM myTable
GROUP BY id;</code>
Salin selepas log masuk

Output:

<code>ID   | roles
------------
4555 | 2,3,4</code>
Salin selepas log masuk

Nota tambahan:

  • Klausa ORDER BY dalam fungsi LISTAGG menentukan susunan cantuman.
  • Jika tiada klausa ORDER BY dinyatakan, nilai akan digabungkan dalam sebarang susunan.
  • Fungsi
  • LISTAGG juga boleh digunakan untuk menjana jenis rentetan sambungan lain, seperti nilai yang dipisahkan baris baharu.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Nilai Dipisahkan Koma daripada Data Berkumpulan dalam DB2 SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan