Wenn die MySQL-Funktion SUM() mit einer SELECT-Anweisung verwendet wird, die keine übereinstimmenden Zeilen zurückgibt, gibt es nichts auszuwerten und es wird NULL als Ausgabe zurückgegeben. Manchmal denken wir, dass es als Ausgabe 0 zurückgeben muss, aber 0 selbst ist eine Zahl, und für Zeilen ohne Übereinstimmungen spielt es keine Rolle, dass es 0 zurückgibt, also gibt es NULL zurück. 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 folgende Abfrage ausführen, um die Gesamtzahl der Seiten zu ermitteln, die von „Mohan“ eingegeben wurden (ein Name, der nicht in der Tabelle „ Name“-Spalte), die MySQL SUM()-Funktion gibt NULL -
mysql> SELECT SUM(daily_typing_pages) FROM employee_tbl WHERE Name = ‘Mohan’; +-------------------------+ | SUM(daily_typing_pages) | +-------------------------+ | NULL | +-------------------------+ 1 row in set (0.00 sec)
Das obige ist der detaillierte Inhalt vonWie wertet die MySQL-Funktion SUM() aus, ob sie mit einer SELECT-Anweisung verwendet wird, die nicht übereinstimmende Zeilen zurückgibt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!