Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengisih Nilai Dalam Rentetan GROUP_CONCAT dalam MySQL?

Bagaimana untuk Mengisih Nilai Dalam Rentetan GROUP_CONCAT dalam MySQL?

Barbara Streisand
Lepaskan: 2024-11-16 10:27:03
asal
912 orang telah melayarinya

How to Sort Values Within a GROUP_CONCAT String in MySQL?

Mengisih Nilai GROUP_CONCAT dalam MySQL

Dalam bidang MySQL, anda mungkin menghadapi keperluan untuk memanipulasi data yang dikembalikan daripada pernyataan GROUP_CONCAT. Satu keperluan biasa ialah mengisih nilai dalam rentetan bercantum.

Untuk mencapai ini, anda boleh memanfaatkan permata tersembunyi fungsi GROUP_CONCAT: klausa ORDER BY. Dengan menambahkan klausa ORDER BY pada subquery dalam GROUP_CONCAT, anda boleh mengisih nilai sebelum ia digabungkan.

Contohnya, pertimbangkan pertanyaan berikut:

GROUP_CONCAT((SELECT GROUP_CONCAT(parent.name SEPARATOR " » ") 
FROM test_competence AS node, test_competence AS parent 
WHERE node.lft BETWEEN parent.lft AND parent.rgt 
  AND node.id = l.competence 
  AND parent.id != 1 
ORDER BY parent.lft) SEPARATOR "<br />\n") AS competences
Salin selepas log masuk

Pertanyaan ini mengembalikan baris dengan nilai gabungan lajur parent.name, diisih dalam tertib menaik berdasarkan parent.lft lajur.

Walau bagaimanapun, jika anda inginkan susunan tertentu, seperti tertib menurun, cuma laraskan klausa ORDER BY:

... ORDER BY parent.lft DESC
Salin selepas log masuk

Perlu diperhatikan bahawa klausa ORDER BY dalam GROUP_CONCAT hanyalah terpakai kepada subkueri paling dalam. Jika anda mempunyai subkueri berbilang lapisan, pertanyaan luar tidak akan dipengaruhi oleh klausa ORDER BY.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Nilai Dalam Rentetan GROUP_CONCAT dalam MySQL?. 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