Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengagregatkan Baris ke dalam Senarai Dipisahkan Koma dalam Oracle?

Bagaimana untuk Mengagregatkan Baris ke dalam Senarai Dipisahkan Koma dalam Oracle?

Linda Hamilton
Lepaskan: 2025-01-19 17:57:10
asal
502 orang telah melayarinya

How to Aggregate Rows into Comma-Separated Lists in Oracle?

Oracle: Menggabungkan Baris ke dalam Senarai Dipisahkan Koma

Lazimnya, manipulasi data memerlukan pengagregatan berbilang baris ke dalam satu rentetan yang dipisahkan koma. Oracle menawarkan beberapa kaedah untuk mencapai ini:

Kaedah 1: LISTAGG (Oracle 11.2 dan lebih baru)

Fungsi LISTAGG (tersedia daripada Oracle 11.2 dan seterusnya) menggabungkan baris dengan cekap menggunakan pembatas yang ditentukan. Sintaksnya ialah:

<code class="language-sql">LISTAGG(expression, delimiter [, separator]) WITHIN GROUP (ORDER BY order_expression)</code>
Salin selepas log masuk

Contoh: Menjana senarai nama negara yang dipisahkan koma daripada jadual countries:

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

Kaedah 2: WM_CONCAT (versi Oracle sebelum 11.2)

Untuk pangkalan data Oracle yang lebih lama (sebelum 11.2), fungsi WM_CONCAT menyediakan keupayaan yang serupa:

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

Kaedah 3: Fungsi PL/SQL Tersuai

Sekiranya tidak cukup LISTAGG mahupun WM_CONCAT, fungsi PL/SQL tersuai menawarkan penyelesaian yang fleksibel. Ini membolehkan logik gabungan yang disesuaikan, seperti yang ditunjukkan dalam contoh yang disediakan menggunakan gelung dan penggabungan rentetan.

Atas ialah kandungan terperinci Bagaimana untuk Mengagregatkan Baris ke dalam Senarai Dipisahkan Koma dalam Oracle?. 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