Mysql
 sql >> Database >  >> RDS >> Mysql

Come restituire 0 invece di null quando si utilizza COUNT in MySQL

Usa il COALESCE() funzione. COALESCE() accetta almeno 2 argomenti, calcolati in ordine e restituisce il primo argomento non nullo. Quindi COALESCE(null, 0) restituirebbe 0 e COALESCE(null, null, null, null, 1) restituirebbe 1 . Ecco documentazione di MySQL su COALESCE() .

Nel rileggere la tua domanda, dovresti essere in grado di ottenere i risultati desiderati in questo modo:

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

Come ho detto, dovrebbe funzionare, ma qualcosa al riguardo non sembra del tutto corretto.