I en IF
uttryck kontrollera om något värde är NULL i gruppen. Jag kan komma på ett par sätt att göra det på:
1) Räkna icke-nullvärdena och jämför det med antalet rader i gruppen:
SELECT a, IF(COUNT(b) = COUNT(*), GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a
Se att det fungerar online:sqlfiddle
2) Räkna antalet nollvärden med SUM
:
SELECT a, IF(SUM(b IS NULL) = 0, GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a
Se att det fungerar online:sqlfiddle