Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mencipta Senarai Nilai Lajur yang Dipisahkan Koma dalam DB2 Menggunakan LISTAGG?

Bagaimanakah Saya Boleh Mencipta Senarai Nilai Lajur yang Dipisahkan Koma dalam DB2 Menggunakan LISTAGG?

Linda Hamilton
Linda Hamiltonasal
2025-01-09 14:46:42886semak imbas

How Can I Create Comma-Separated Lists of Column Values in DB2 Using 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!

Kenyataan:
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