Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggabungkan Rentetan daripada Berbilang Baris dalam MySQL menggunakan GROUP BY?

Bagaimana untuk Menggabungkan Rentetan daripada Berbilang Baris dalam MySQL menggunakan GROUP BY?

Patricia Arquette
Patricia Arquetteasal
2025-01-21 20:36:10881semak imbas

How to Concatenate Strings from Multiple Rows in MySQL using GROUP BY?

Gunakan GROUP BY MySQL untuk menyambung rentetan berbilang baris

Tugas biasa dalam operasi pangkalan data ialah menggabungkan rentetan berbilang baris. Dalam MySQL, klausa GROUP BY menyediakan cara yang mudah untuk mencapai ini.

Tugasnya ialah untuk menukar jadual seperti yang ditunjukkan di bawah:

foo_id foo_name
1 A
1 B
2 C

Tukar kepada:

foo_id foo_name
1 A B
2 C

Penyelesaian melibatkan penggunaan fungsi GROUP_CONCAT dan klausa GROUP BY:

<code class="language-sql">SELECT foo_id, GROUP_CONCAT(foo_name SEPARATOR ' ') FROM table GROUP BY foo_id;</code>

Mari kita pecahkan kenyataan:

  • GROUP_CONCAT: Fungsi ini menggabungkan nilai bukan NULL setiap kumpulan dalam lajur yang ditentukan (foo_name dalam kes ini).
  • GROUP BY foo_id: Klausa ini mengumpulkan baris mengikut lajur foo_id, memastikan operasi gabungan dilakukan pada setiap nilai foo_id yang unik.
  • SEPARATOR ' ' (pilihan): Ini menentukan aksara yang digunakan untuk memisahkan nilai bercantum (' ' menambah ruang antara nama).

Dalam contoh kami, fungsi ini akan menggabungkan nilai foo_name ​​untuk setiap foo_id untuk mendapatkan output yang diingini.

Untuk mendapatkan maklumat lanjut tentang GROUP_CONCAT, lihat dokumentasi MySQL: https://www.php.cn/link/18fc3b6cc1e55ccea877c161e2e9ba27.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Rentetan daripada Berbilang Baris dalam MySQL menggunakan GROUP BY?. 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