MySQL SUM() 関数が、一致する行を返さない SELECT ステートメントとともに使用される場合、評価するものは何もなく、出力として NULL を返します。場合によっては、出力として 0 を返さなければならないと考えることがありますが、0 自体は数値であり、一致する行がない場合は 0 を返すことは問題ではないため、NULL を返します。上記の概念を理解するために、次のレコードを持つ "employee_tbl" テーブルを考えてみましょう -
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)
ここで、次のクエリを実行して "Mohan" (" にない名前) の入力を見つけます。 Name" 列) ページの総数に達すると、MySQL SUM() 関数は 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)
以上がMySQL SUM() 関数は、一致しない行を返す SELECT ステートメントで使用されているかどうかをどのように評価しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。