Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So geben Sie 0 statt null zurück, wenn Sie COUNT in MySQL verwenden

Verwenden Sie COALESCE() Funktion. COALESCE() nimmt mindestens 2 Argumente, die der Reihe nach berechnet werden, und gibt das erste Nicht-Null-Argument zurück. Also COALESCE(null, 0) würde 0 zurückgeben , und COALESCE(null, null, null, null, 1) würde 1 zurückgeben . Hier ist die MySQL-Dokumentation über COALESCE() .

Beim erneuten Lesen Ihrer Anfrage sollten Sie sollten in der Lage sein, die gewünschten Ergebnisse wie folgt zu erhalten:

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

Wie gesagt, das sollte funktionieren, aber etwas daran fühlt sich nicht ganz richtig an.