In un IF
controllo dell'espressione se un valore è NULL nel gruppo. Mi vengono in mente un paio di modi per farlo:
1) Conta i valori non nulli e confrontalo con il numero di righe nel gruppo:
SELECT a, IF(COUNT(b) = COUNT(*), GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a
Guardalo funzionare online:sqlfiddle
2) Conta il numero di valori nulli usando SUM
:
SELECT a, IF(SUM(b IS NULL) = 0, GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a
Guardalo funzionare online:sqlfiddle