Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengawal Susunan Nilai dalam Fungsi GROUP_CONCAT MySQL?
Apabila menggunakan fungsi GROUP_CONCAT untuk menggabungkan nilai bagi baris berkumpulan, ia boleh berguna untuk mengekalkan susunan nilai ini.
Andaikan kita mempunyai jadual bernama "li" dengan lajur: client_id, paparan dan peratusan. Kami mahu mengumpulkan baris mengikut client_id dan menggabungkan nilai pandangan. Kami pada mulanya mencuba perkara berikut:
SELECT li.client_id, group_concat(li.views) AS views, group_concat(li.percentage) FROM li GROUP BY client_id;
Ini menghasilkan hasil dengan pandangan digabungkan, tetapi dalam susunan sewenang-wenangnya:
+-----------+-------------------+-----------------------------+ | client_id | views | group_concat(li.percentage) | +-----------+-------------------+-----------------------------+ | 1 | 6,4,9,2,7,5,3,8,1 | 20,55,56,67,80,66,33,34,52 | +-----------+-------------------+-----------------------------+
Kepada memesan keputusan dalam GROUP_CONCAT, kita boleh menggunakan ORDER BY di dalam fungsi:
SELECT li.client_id, group_concat(li.views ORDER BY li.views ASC) AS views, group_concat(li.percentage ORDER BY li.views ASC) AS percentage FROM li GROUP BY client_id
Ini akan menyusun lajur paparan dalam tertib menaik, sambil mengekalkan nilai peratusan yang sepadan dalam susunan yang sama:
+-----------+-------------------+----------------------------+ | client_id | views | percentage | +-----------+-------------------+----------------------------+ | 1 | 1,2,3,4,5,6,7,8,9 | 52,67,33,55,66,20,80,34,56 | +-----------+-------------------+----------------------------+
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengawal Susunan Nilai dalam Fungsi GROUP_CONCAT MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!