Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mencipta Senarai Nilai Lajur yang Dipisahkan Koma dalam DB2 Menggunakan LISTAGG?
Menjana Senarai Dipisahkan Koma dalam DB2 SQL Menggunakan LISTAGG
Fungsi DB2 LISTAGG
memudahkan penciptaan senarai nilai lajur yang dipisahkan koma, terutamanya apabila berurusan dengan data terkumpul. Fungsi ini menggabungkan nilai dengan cekap daripada lajur yang ditentukan untuk baris yang berkongsi kriteria pengumpulan yang sama, menggunakan pembatas tersuai.
Mari kita menggambarkan dengan jadual yang mengandungi lajur ID
dan Role
, dengan ID
mungkin mempunyai berbilang nilai Role
yang berkaitan. Untuk menjana senarai peranan yang dipisahkan koma bagi setiap ID unik, gunakan pertanyaan SQL ini:
<code class="language-sql">SELECT ID, LISTAGG(Role, ', ') WITHIN GROUP (ORDER BY Role ASC) AS Roles FROM myTable GROUP BY ID;</code>
Contoh Data:
<code>ID | Role ------------ 4555 | 2 4555 | 3 4555 | 4</code>
Keputusan:
<code>ID | Roles ------------ 4555 | 2, 3, 4</code>
Klausa ORDER BY
dalam LISTAGG
mengawal susunan nilai yang digabungkan. ORDER BY Role ASC
menyusunnya secara menaik; ORDER BY Role DESC
akan menyusunnya secara menurun. Meninggalkan ORDER BY
menghasilkan susunan yang tidak ditentukan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Senarai Nilai Lajur yang Dipisahkan Koma dalam DB2 Menggunakan LISTAGG?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!