sql >> Base de Datos >  >> RDS >> Mysql

GROUP_CONCAT devuelve NULL si algún valor es NULL

En un IF comprobación de expresión si algún valor es NULL en el grupo. Se me ocurren un par de formas de hacerlo:

1) Cuente los valores no nulos y compárelos con el número de filas en el grupo:

SELECT a, IF(COUNT(b) = COUNT(*), GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a

Véalo funcionando en línea:sqlfiddle

2) Cuente el número de valores nulos usando SUM :

SELECT a, IF(SUM(b IS NULL) = 0, GROUP_CONCAT(b), NULL) AS bs
FROM gc
GROUP BY a

Véalo funcionando en línea:sqlfiddle