SELECT*FROMemployee_tbl;+------+------+---------- -- +--------------------+|id"/> SELECT*FROMemployee_tbl;+------+------+---------- -- +--------------------+|id">

Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah saya boleh menyesuaikan output fungsi MySQL SUM() menjadi 0 dan bukannya NULL apabila tiada baris yang sepadan?

Bagaimanakah saya boleh menyesuaikan output fungsi MySQL SUM() menjadi 0 dan bukannya NULL apabila tiada baris yang sepadan?

WBOY
WBOYke hadapan
2023-09-06 13:21:11555semak imbas

当没有匹配行时,如何将 MySQL SUM() 函数的输出自定义为 0 而不是 NULL?

Kita tahu bahawa fungsi SUM() akan mengembalikan NULL jika tiada baris yang sepadan, tetapi kadangkala kita mahu ia mengembalikan sifar dan bukannya NULL. Untuk melakukan ini, kita boleh menggunakan fungsi MySQL COALESCE(), yang menerima dua parameter dan mengembalikan parameter kedua jika parameter pertama adalah NULL, jika tidak ia mengembalikan parameter pertama. 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 menggunakan fungsi COALESCE bersama-sama dengan fungsi SUM() untuk mencari jumlah halaman yang dimasukkan oleh "Mohan", MySQL Fungsi SUM() mengembalikan 0, dan nama "Mohan" tiada dalam lajur "Nama" −

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)

Atas ialah kandungan terperinci Bagaimanakah saya boleh menyesuaikan output fungsi MySQL SUM() menjadi 0 dan bukannya NULL apabila tiada baris yang sepadan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam