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

So zeigen Sie 0 an, wenn keine Daten vorhanden sind

Ich habe eine Simulation gemacht, aber ich konnte Ihr Problem nicht sehen. Ich habe eine Tabelle für Teste erstellt und nach dem Einfügen von Daten war dies meine Auswahl. Aber der Test war normal!

SELECT icDate, 
format(ifnull(sum(icCost), 0),2) as icCost, 
count(icDate) as entries
FROM incomp
WHERE icDate BETWEEN '2016-01-01' AND '2016-01-05' 
AND compID = 'DDY' 
group by icDate;

Dies ist das Ergebnis meines Tests, exportiert in eine CSV-Datei:

icDate      |  icCost   |  entries
----------------------------------
2016-01-01  |  8,600.00 |  8    
2016-01-02  |  5,600.00 |  4    
2016-01-03  |  5,400.00 |  3    
2016-01-04  |  0.00     |  1    
2016-01-05  |  7,050.00 |  7

Hat das icCost-Feld einen Nullwert oder die Zahl Null? Erinnern Sie sich an einige Fälle, in denen gesetzte Nullwerte sich von anderen als leer unterscheiden können.