Jana keluaran dipisahkan koma mengikut kumpulan dalam DB2
Fungsi terbina dalam DB2 LISTAGG
boleh menggabungkan nilai lajur dengan kumpulan yang sama, dipisahkan dengan koma. Ini berguna apabila anda perlu menggabungkan data dalam kumpulan.
Sebagai contoh, katakan jadual mengandungi dua lajur, ID dan Peranan, dan tiga baris mempunyai ID yang sama tetapi nilai Peranan yang berbeza. Matlamatnya adalah untuk menggabungkan nilai Peranan untuk setiap ID ke dalam senarai yang dipisahkan koma.
Fungsi LISTAGG
yang diperkenalkan bermula dengan DB2 LUW 9.7 mencapai ini:
<code class="language-sql">SELECT ID, LISTAGG(Role, ', ') AS Roles FROM myTable GROUP BY ID;</code>
Pertanyaan ini akan menjana output yang diingini:
<code>ID Roles ---------- 4555 2,3,4</code>
Perlu diambil perhatian bahawa anda boleh menggunakan klausa WITHIN GROUP
dan pernyataan ORDER BY
untuk menentukan susunan nilai yang digabungkan. Ini membolehkan kawalan yang lebih besar ke atas susunan nilai yang disenaraikan:
<code class="language-sql">SELECT ID, LISTAGG(Role, ', ') WITHIN GROUP (ORDER BY Role ASC) AS Roles FROM myTable GROUP BY ID;</code>
Dalam kes ini, outputnya ialah:
<code>ID Roles ---------- 4555 2,3,4</code>
LISTAGG
Menyediakan cara mudah untuk mengagregat dan menggabungkan data dalam DB2, membolehkan operasi rentetan berasaskan kumpulan yang cekap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Senarai Nilai Dipisahkan Koma daripada Kumpulan dalam DB2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!