Rumah > pangkalan data > tutorial mysql > Bagaimanakah LISTAGG atau WM_CONCAT Boleh Menggabungkan Berbilang Baris Pangkalan Data ke dalam Senarai Dipisahkan Koma Tunggal?

Bagaimanakah LISTAGG atau WM_CONCAT Boleh Menggabungkan Berbilang Baris Pangkalan Data ke dalam Senarai Dipisahkan Koma Tunggal?

Barbara Streisand
Lepaskan: 2025-01-19 18:02:09
asal
354 orang telah melayarinya

How Can LISTAGG or WM_CONCAT Combine Multiple Database Rows into a Single Comma-Separated List?

Mengagregatkan Berbilang Baris Pangkalan Data ke dalam Rentetan Dibataskan Koma Tunggal

Tugas pangkalan data selalunya memerlukan penyatuan berbilang baris menjadi satu senarai yang dipisahkan koma. Pangkalan data Oracle menyediakan penyelesaian yang cekap untuk ini menggunakan fungsi LISTAGG atau WM_CONCAT. Walaupun WM_CONCAT ditamatkan, LISTAGG (tersedia daripada Oracle 11.2 dan seterusnya) menawarkan fleksibiliti unggul dan merupakan pendekatan yang disyorkan. Kedua-dua fungsi mencapai hasil asas yang sama: menggabungkan baris menjadi rentetan yang dibataskan.

Pertimbangkan pertanyaan untuk mendapatkan semula nama negara:

<code class="language-sql">SELECT * FROM countries;</code>
Salin selepas log masuk

Untuk menjana senarai nama ini yang dipisahkan koma, gunakan LISTAGG:

<code class="language-sql">SELECT LISTAGG(country_name, ', ') WITHIN GROUP (ORDER BY country_name)
FROM countries;</code>
Salin selepas log masuk

Ini mengembalikan satu baris yang mengandungi semua nama negara, dipisahkan dengan kemas dengan koma dan disusun mengikut abjad.

Untuk pangkalan data yang menyokong WM_CONCAT yang telah ditamatkan, persamaannya ialah:

<code class="language-sql">SELECT WM_CONCAT(country_name)
FROM countries;</code>
Salin selepas log masuk

Walaupun kedua-duanya menghasilkan output yang serupa, LISTAGG menawarkan kelebihan. Ia membenarkan penyesuaian pembatas dan menyediakan kawalan ke atas susunan nilai agregat. Rujuk dokumentasi pangkalan data anda untuk parameter fungsi LISTAGG terperinci.

Atas ialah kandungan terperinci Bagaimanakah LISTAGG atau WM_CONCAT Boleh Menggabungkan Berbilang Baris Pangkalan Data ke dalam Senarai Dipisahkan Koma Tunggal?. 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