Heim >Datenbank >MySQL-Tutorial >Wie kann ich die Ausgabe der MySQL SUM()-Funktion so anpassen, dass sie 0 statt NULL ist, wenn keine übereinstimmenden Zeilen vorhanden sind?
Wir wissen, dass die SUM()-Funktion NULL zurückgibt, wenn es keine passende Zeile gibt, aber manchmal möchten wir, dass sie Null statt NULL zurückgibt. Dazu können wir die MySQL-Funktion COALESCE() verwenden, die zwei Parameter akzeptiert und den zweiten Parameter zurückgibt, wenn der erste Parameter NULL ist, ansonsten den ersten Parameter zurückgibt. Um das obige Konzept zu verstehen, betrachten Sie eine Tabelle „employee_tbl“, die die folgenden Datensätze enthält:
mysql> SELECT * FROM employee_tbl; +------+------+------------+--------------------+ | id | name | work_date | daily_typing_pages | +------+------+------------+--------------------+ | 1 | John | 2007-01-24 | 250 | | 2 | Ram | 2007-05-27 | 220 | | 3 | Jack | 2007-05-06 | 170 | | 3 | Jack | 2007-04-06 | 100 | | 4 | Jill | 2007-04-06 | 220 | | 5 | Zara | 2007-06-06 | 300 | | 5 | Zara | 2007-02-06 | 350 | +------+------+------------+--------------------+ 7 rows in set (0.00 sec)
Wenn wir nun die Funktion COALESCE zusammen mit der Funktion SUM() verwenden, um die Gesamtzahl der von „Mohan“, MySQL, eingegebenen Seiten zu ermitteln Die Funktion SUM() gibt 0 zurück und der Name „Mohan“ ist nicht in der Spalte „Name“ −
mysql> SELECT COALESCE(SUM(daily_typing_pages),0)AS ‘SUM(daily_typing_pages)’FROM employee_tbl WHERE Name = ‘Mohan’; +-------------------------+ | SUM(daily_typing_pages) | +-------------------------+ | 0 | +-------------------------+ 1 row in set (0.00 sec)
Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe der MySQL SUM()-Funktion so anpassen, dass sie 0 statt NULL ist, wenn keine übereinstimmenden Zeilen vorhanden sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!