W IF
wyrażenie sprawdź, czy jakakolwiek wartość w grupie ma wartość NULL. Przychodzi mi na myśl kilka sposobów na zrobienie tego:
1) Policz wartości inne niż null i porównaj je z liczbą wierszy w grupie:
SELECT a, IF(COUNT(b) = COUNT(*), GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a
Zobacz, jak działa online:sqlfiddle
2) Policz liczbę wartości null za pomocą SUM
:
SELECT a, IF(SUM(b IS NULL) = 0, GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a
Zobacz, jak działa online:sqlfiddle