Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menjana Senarai Dipisahkan Koma dalam DB2 mengikut Kumpulan?

Bagaimana untuk Menjana Senarai Dipisahkan Koma dalam DB2 mengikut Kumpulan?

Barbara Streisand
Lepaskan: 2025-01-09 14:41:43
asal
130 orang telah melayarinya

How to Generate Comma-Separated Lists in DB2 by Group?

Menjana Senarai Dipisahkan Koma dalam DB2 menggunakan LISTAGG

Panduan ini menunjukkan cara membuat senarai nilai lajur yang dipisahkan koma yang dikumpulkan mengikut lajur lain dalam DB2. Fungsi LISTAGG adalah kunci untuk mencapai ini.

Senario:

Bayangkan jadual dengan ID dan Role lajur, di mana setiap ID boleh mempunyai berbilang Roles. Matlamatnya ialah untuk mengeluarkan senarai peranan yang dipisahkan koma untuk setiap ID unik.

Contoh Data:

ID Role
4555 2
4555 3
4555 4

Output yang Diingini:

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

Penyelesaian menggunakan LISTAGG:

Fungsi

DB2 LISTAGG menggabungkan nilai dengan cekap dalam kumpulan. Sintaksnya ialah:

<code class="language-sql">LISTAGG(column_name, delimiter) WITHIN GROUP (ORDER BY column_name) OVER (PARTITION BY group_column)</code>
Salin selepas log masuk

Contoh Pertanyaan:

Mari kita gunakan jadual sampel bernama myTable dengan lajur id dan category:

<code class="language-sql">CREATE TABLE myTable (id INT, category INT);

INSERT INTO myTable VALUES (1, 1);
INSERT INTO myTable VALUES (2, 2);
INSERT INTO myTable VALUES (5, 1);
INSERT INTO myTable VALUES (3, 1);
INSERT INTO myTable VALUES (4, 2);</code>
Salin selepas log masuk

Untuk mendapatkan nilai id yang dipisahkan koma untuk setiap category:

<code class="language-sql">SELECT
  category,
  LISTAGG(id, ', ') WITHIN GROUP (ORDER BY id ASC) AS ids
FROM myTable
GROUP BY category;</code>
Salin selepas log masuk

Keputusan:

<code>CATEGORY | IDS
---------+-----
       1 | 1, 3, 5
       2 | 2, 4</code>
Salin selepas log masuk

Pertanyaan ini mengumpulkan baris mengikut category, menyusun nilai id dalam setiap kumpulan dan kemudian menggunakan LISTAGG untuk menggabungkannya menjadi rentetan yang dipisahkan koma tunggal. Hasilnya menunjukkan senarai ID yang dipisahkan koma untuk setiap kategori. Pendekatan ini berkesan menyelesaikan masalah menjana senarai dipisahkan koma berdasarkan pengumpulan dalam DB2.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Senarai Dipisahkan Koma dalam DB2 mengikut Kumpulan?. 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