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

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

Linda Hamilton
Lepaskan: 2025-01-25 09:21:09
asal
182 orang telah melayarinya

How Can I Concatenate Multiple MySQL Rows into a Single Field?

Menggabungkan Berbilang Baris MySQL ke dalam Satu Medan

Penyertaan MySQL sering mengembalikan banyak baris, menjadikan analisis data menyusahkan. Artikel ini menunjukkan cara menggabungkan berbilang baris dengan cekap ke dalam satu medan untuk pengendalian yang lebih mudah.

Fungsi GROUP_CONCAT adalah kunci kepada proses ini. Contohnya:

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

Pertanyaan ini mengumpulkan hobi dengan person_id, menggabungkannya dengan koma sebagai pemisah.

Untuk mengalih keluar pendua, gunakan DISTINCT:

<code class="language-sql">SELECT person_id,
       GROUP_CONCAT(DISTINCT hobbies SEPARATOR ', ')
FROM peoples_hobbies
GROUP BY person_id;</code>
Salin selepas log masuk

Untuk hasil yang diisih, gunakan ORDER BY:

<code class="language-sql">SELECT person_id,
       GROUP_CONCAT(hobbies ORDER BY hobbies ASC SEPARATOR ', ')
FROM peoples_hobbies
GROUP BY person_id;</code>
Salin selepas log masuk

Ingat, GROUP_CONCAT mempunyai had lalai 1024 bait. Untuk meningkatkan ini, gunakan:

<code class="language-sql">SET group_concat_max_len = 2048;</code>
Salin selepas log masuk

Atau, kira secara dinamik panjang yang diperlukan:

<code class="language-sql">SET group_concat_max_len = CAST(
                     (SELECT SUM(LENGTH(hobbies)) + COUNT(*) * LENGTH(', ')
                           FROM peoples_hobbies
                           GROUP BY person_id) AS UNSIGNED);</code>
Salin selepas log masuk

GROUP_CONCAT memudahkan manipulasi data dengan menyatukan berbilang baris menjadi satu medan yang lebih terurus.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Berbilang Baris MySQL ke dalam Medan Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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