Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggabungkan Berbilang Baris MySQL ke dalam Medan Tunggal Menggunakan GROUP_CONCAT?

Bagaimanakah Saya Boleh Menggabungkan Berbilang Baris MySQL ke dalam Medan Tunggal Menggunakan GROUP_CONCAT?

Barbara Streisand
Barbara Streisandasal
2025-01-25 09:26:09595semak imbas

How Can I Combine Multiple MySQL Rows into a Single Field Using GROUP_CONCAT?

Menyatukan Berbilang Baris MySQL ke dalam Medan Tunggal dengan GROUP_CONCAT

Perlu menggabungkan data daripada berbilang baris ke dalam satu medan dalam hasil MySQL anda? Apabila menyertai jadual, anda mungkin mendapat lebih banyak baris daripada yang anda perlukan. Fungsi GROUP_CONCAT MySQL menyediakan penyelesaian yang elegan.

Fungsi ini menggabungkan nilai daripada berbilang baris ke dalam satu rentetan dalam kumpulan. Begini caranya:

<code class="language-sql">SELECT person_id,
       GROUP_CONCAT(hobbies SEPARATOR ', ') AS hobbies_list
FROM peoples_hobbies
GROUP BY person_id;</code>

Pertanyaan ini dengan cekap menyusun semua hobi untuk setiap orang ke dalam satu rentetan dipisahkan koma dalam lajur hobbies_list.

Untuk kawalan yang lebih hebat, pertimbangkan pilihan ini:

  • DISTINCT: Elakkan entri pendua dalam rentetan bercantum.
  • ORDER BY: Susun nilai sebelum penyatuan untuk susunan tertentu.
  • SET group_concat_max_len = <value>: Laraskan panjang maksimum rentetan yang terhasil (lalai ialah 1024 bait). Anda perlu melaraskan ini jika rentetan gabungan anda melebihi had ini.

Dengan menggunakan ciri ini, anda boleh mengurus dan mempersembahkan data MySQL anda dengan berkesan dalam format yang lebih padat dan teratur, disesuaikan dengan sempurna mengikut keperluan anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Berbilang Baris MySQL ke dalam Medan Tunggal Menggunakan GROUP_CONCAT?. 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