Nous savons que la fonction SUM() retournera NULL s'il n'y a pas de ligne correspondante, mais parfois nous voulons qu'elle renvoie zéro au lieu de NULL. Pour ce faire, nous pouvons utiliser la fonction MySQL COALESCE(), qui accepte deux paramètres et renvoie le deuxième paramètre si le premier paramètre est NULL, sinon elle renvoie le premier paramètre. Pour comprendre le concept ci-dessus, considérons une table "employee_tbl" qui contient les enregistrements suivants -
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)
Maintenant, lorsque nous utilisons la fonction COALESCE avec la fonction SUM() pour trouver le nombre total de pages saisies par "Mohan", MySQL La fonction SUM() renvoie 0 et le nom "Mohan" n'est pas dans la colonne "Nom" −
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)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!