DOWNVOTE itu benar-benar membingungkan untuk menamai string kolom, memberinya nama yang terlihat seperti tipe data. Jadi, setiap jawaban juga dipengaruhi oleh hal itu karena jawaban tersebut terlihat seperti menentukan tipe data saat mereka menentukan nama kolom
barlop
2
@barlop memperbaikinya dengan mengedit pertanyaan dan jawaban.
Dari tautan di atas GROUP_CONCAT,: Fungsi ini mengembalikan hasil string dengan nilai-nilai non-NULL gabungan dari grup. Ini mengembalikan NULL jika tidak ada nilai-nilai NULL.
Dari tautan di atas GROUP_CONCAT,: Fungsi ini mengembalikan hasil string dengan nilai-nilai non-NULL gabungan dari grup. Ini mengembalikan NULL jika tidak ada nilai-nilai NULL.
: - Di MySQL, Anda bisa mendapatkan nilai gabungan dari kombinasi ekspresi. Untuk menghilangkan nilai duplikat, gunakan klausa DISTINCT . Untuk mengurutkan nilai dalam hasil, gunakan klausa ORDER BY. Untuk mengurutkan dalam urutan terbalik , tambahkankata kunci DESC (descending) ke nama kolom yang Anda sortir dalam klausa ORDER BY. Standarnya adalah urutan naik; ini dapat ditentukan secara eksplisit menggunakan kata kunci ASC. Pemisah default antara nilai-nilai dalam suatu grup adalah koma (","). Untuk menentukan pemisah secara eksplisit, gunakan SEPARATOR diikuti dengan nilai literal string yang harus dimasukkan di antara nilai grup. Untuk menghilangkan pemisah sama sekali, tentukan SEPARATOR '' .
Hasilnya dipotong dengan panjang maksimum yang diberikan oleh variabel sistem group_concat_max_len, yang memiliki nilai default 1024 karakter, jadi pertama-tama kita lakukan:
Hasilnya adalah dipotong dengan panjang maksimum yang diberikan oleh variabel sistem group_concat_max_len, yang memiliki nilai default dari 1024 karakter. docs
marlo
Apa ruang lingkup group_concat_max_lenkonfigurasi ini ? Koneksi / sesi saat ini, atau apakah akan memengaruhi klien lain?
Ini tidak menjawab pertanyaan OP tetapi hanya menambah informasi yang bermanfaat. Ini harus berupa komentar, bukan jawaban.
Sean the Bean
1
Terima kasih atas cuplikan kode ini, yang mungkin memberikan bantuan terbatas dan segera. Sebuah penjelasan yang tepat akan sangat meningkatkan nilai jangka panjang dengan menunjukkan mengapa ini adalah solusi yang baik untuk masalah ini dan akan membuatnya lebih bermanfaat untuk pembaca masa depan dengan lainnya, pertanyaan-pertanyaan serupa. Harap edit jawaban Anda untuk menambahkan beberapa penjelasan, termasuk asumsi yang Anda buat.
Donald Duck
11
Jawaban yang bagus Saya juga punya masalah dengan NULLS dan berhasil menyelesaikannya dengan memasukkan COALESCE ke dalam GROUP_CONCAT. Contoh sebagai berikut:
Jawaban:
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat
Dari tautan di atas
GROUP_CONCAT
,: Fungsi ini mengembalikan hasil string dengan nilai-nilai non-NULL gabungan dari grup. Ini mengembalikan NULL jika tidak ada nilai-nilai NULL.sumber
Lebih detail di sini .
Dari tautan di atas
GROUP_CONCAT
,: Fungsi ini mengembalikan hasil string dengan nilai-nilai non-NULL gabungan dari grup. Ini mengembalikan NULL jika tidak ada nilai-nilai NULL.sumber
Akan memberi Anda string yang dibatasi koma
sumber
: - Di MySQL, Anda bisa mendapatkan nilai gabungan dari kombinasi ekspresi. Untuk menghilangkan nilai duplikat, gunakan klausa DISTINCT . Untuk mengurutkan nilai dalam hasil, gunakan klausa ORDER BY. Untuk mengurutkan dalam urutan terbalik , tambahkankata kunci DESC (descending) ke nama kolom yang Anda sortir dalam klausa ORDER BY. Standarnya adalah urutan naik; ini dapat ditentukan secara eksplisit menggunakan kata kunci ASC. Pemisah default antara nilai-nilai dalam suatu grup adalah koma (","). Untuk menentukan pemisah secara eksplisit, gunakan SEPARATOR diikuti dengan nilai literal string yang harus dimasukkan di antara nilai grup. Untuk menghilangkan pemisah sama sekali, tentukan SEPARATOR '' .
ATAU
sumber
Hasilnya dipotong dengan panjang maksimum yang diberikan oleh variabel sistem group_concat_max_len, yang memiliki nilai default 1024 karakter, jadi pertama-tama kita lakukan:
dan kemudian, misalnya:
sumber
group_concat_max_len
konfigurasi ini ? Koneksi / sesi saat ini, atau apakah akan memengaruhi klien lain?Jawaban yang bagus Saya juga punya masalah dengan NULLS dan berhasil menyelesaikannya dengan memasukkan COALESCE ke dalam GROUP_CONCAT. Contoh sebagai berikut:
Semoga ini bisa membantu orang lain
sumber