MySQL's GROUP BY Clause: Menggabungkan Rentetan
Klausa GROUP BY
MySQL yang berkuasa tidak terhad kepada pengagregatan berangka. Ia juga boleh menggabungkan rentetan yang dikaitkan dengan data terkumpul dengan cekap. Ini amat membantu apabila berurusan dengan jadual yang mengandungi berbilang baris yang berkongsi pengecam yang sama.
Pertimbangkan jadual contoh ini:
foo_id | foo_name |
---|---|
1 | A |
1 | B |
2 | C |
Matlamat kami adalah untuk menggabungkan foo_name
nilai untuk setiap foo_id
unik, menghasilkan:
foo_id | foo_name |
---|---|
1 | A, B |
2 | C |
Transformasi ini dicapai menggunakan pertanyaan SQL berikut:
<code class="language-sql">SELECT foo_id, GROUP_CONCAT(foo_name SEPARATOR ', ') FROM table GROUP BY foo_id;</code>
Penjelasan Pertanyaan:
GROUP BY foo_id
: Ini mengumpulkan baris berdasarkan lajur foo_id
, menghimpunkan semua nilai foo_name
untuk setiap ID unik.GROUP_CONCAT(foo_name SEPARATOR ', ')
: Fungsi ini menggabungkan nilai foo_name
dalam setiap kumpulan, menggunakan koma dan ruang sebagai pemisah.Fungsi GROUP_CONCAT()
menawarkan hujah SEPARATOR
, membenarkan penyesuaian fleksibel pembatas antara rentetan bercantum. Untuk butiran komprehensif, rujuk dokumentasi MySQL rasmi: https://www.php.cn/link/18fc3b6cc1e55ccea877c161e2e9ba27
Atas ialah kandungan terperinci Bagaimanakah MySQL GROUP BY Clause Concatenate Strings?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!