Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Meniru Fungsi LISTAGG() Oracle dalam MySQL?

Bagaimanakah Saya Boleh Meniru Fungsi LISTAGG() Oracle dalam MySQL?

Susan Sarandon
Lepaskan: 2024-12-08 21:46:12
asal
929 orang telah melayarinya

How Can I Replicate Oracle's LISTAGG() Function in MySQL?

Fungsi Agregat MySQL: Senarai

Dalam MySQL, fungsi LISTAGG() yang digunakan dalam Oracle tidak tersedia. Walau bagaimanapun, anda boleh menggunakan fungsi GROUP_CONCAT() untuk mencapai fungsi yang serupa. Fungsi agregat ini menggabungkan nilai daripada berbilang baris ke dalam satu rentetan.

Untuk meniru gelagat fungsi LISTAGG() Oracle, anda boleh menggunakan GROUP_CONCAT() seperti berikut:

SELECT GROUP_CONCAT(MyString SEPARATOR ', ') AS myList
FROM table
WHERE id < 4;
Salin selepas log masuk

Pertanyaan ini akan menggabungkan nilai dalam lajur MyString untuk semua baris dengan lajur Id kurang daripada 4, dan memisahkannya dengan koma. Hasilnya ialah rentetan tunggal yang mengandungi nilai:

First, Second, Third
Salin selepas log masuk

Anda boleh mengumpulkan hasil mengikut lajur berbeza untuk membuat senarai hierarki. Contohnya, untuk mengumpulkan hasil mengikut lajur induk, anda boleh menggunakan:

SELECT GROUP_CONCAT(MyString SEPARATOR ', ') AS myList
FROM table
GROUP BY parent_column;
Salin selepas log masuk

Ini akan menjana senarai rentetan untuk setiap nilai unik dalam lajur_induk.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meniru Fungsi LISTAGG() Oracle dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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