Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Meniru Fungsi LISTAGG() Oracle dalam 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!