Dalam IF
ekspresi periksa apakah ada nilai NULL dalam grup. Saya dapat memikirkan beberapa cara untuk melakukannya:
1) Hitung nilai bukan nol dan bandingkan dengan jumlah baris dalam grup:
SELECT a, IF(COUNT(b) = COUNT(*), GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a
Lihat itu bekerja online:sqlfiddle
2) Hitung jumlah nilai nol menggunakan SUM
:
SELECT a, IF(SUM(b IS NULL) = 0, GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a
Lihat itu bekerja online:sqlfiddle