Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como retornar 0 em vez de null ao usar COUNT no MySQL


Use o COALESCE() função. COALESCE() recebe pelo menos 2 argumentos, calculados em ordem, e retorna o primeiro argumento não nulo. Então COALESCE(null, 0) retornaria 0 e COALESCE(null, null, null, null, 1) retornaria 1 . Aqui está a documentação do MySQL sobre COALESCE() .

Ao reler sua consulta, você deve ser capaz de obter os resultados desejados assim:
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 eu disse, isso deve funcionar, mas algo sobre isso não parece certo.