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

Cómo devolver 0 en lugar de nulo cuando se usa COUNT en MySQL

Usa el COALESCE() función. COALESCE() toma al menos 2 argumentos, calculados en orden, y devuelve el primer argumento no nulo. Entonces COALESCE(null, 0) devolvería 0 y COALESCE(null, null, null, null, 1) devolvería 1 . Aquí está la documentación de MySQL sobre COALESCE() .

Al volver a leer su consulta, debería ser capaz de obtener los resultados que desea de esta manera:

SELECT <all the fields you want>, b.songsID, COUNT(*) AS projects_count
FROM $sTable b
LEFT OUTER JOIN $sTable2 bb ON bb.songs_id = b.songsID
$sWhere
GROUP BY b.songsID
$sOrder
$sLimit

Como dije, esto debería funcionar, pero algo al respecto no se siente del todo bien.