Apabila fungsi MySQL SUM() digunakan dengan pernyataan SELECT yang tidak mengembalikan baris yang sepadan, maka tiada apa-apa untuk dinilai dan ia mengembalikan NULL sebagai output. Kadangkala, kita fikir ia mesti mengembalikan 0 sebagai output, tetapi 0 itu sendiri ialah nombor, dan untuk baris tanpa padanan, tidak kira ia mengembalikan 0, jadi ia mengembalikan NULL. Untuk memahami konsep di atas, pertimbangkan jadual "employee_tbl" yang mempunyai rekod berikut -
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)
Sekarang, apabila kita menjalankan pertanyaan berikut untuk mencari jumlah halaman yang dimasukkan oleh "Mohan" (nama yang tiada dalam " Nama" lajur), fungsi MySQL SUM() mengembalikan 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)
Atas ialah kandungan terperinci Bagaimanakah fungsi MySQL SUM() menilai sama ada ia digunakan dengan pernyataan SELECT yang mengembalikan baris yang tidak sepadan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!