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
Susan Sarandonasal
2024-12-08 21:46:12862semak imbas

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;

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

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;

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