Bonjour à tous,
y a t il un moyen de forcer une requete MYSQL à retourner une valeur par défaut pour COUNT(monChamp) quand aucun enregistrement n'a été trouvé?
en vous remerciant pour vos réponses.
SELECT
IFNULL(
count(monchamp),
0
) AS nombre
FROM matable
Cet exemple retournera soit la valeur correspondant à l'agrégat COUNT() s'il existe au moins une valeur pour une ligne dans la colonne « monchamp », soit 0 si le retour du COUNT() vaut NULL.
Absolument, et ça ne change rien : rien ne t'empêche d'indiquer une valeur par défaut, même avec un GROUP BY, si le comptage retourne NULL pour un ou plusieurs des regroupements. J'ajoute que j'utilise ce genre de fonction assez régulièrement.Il me semble que count retourne toujours une ligne et une seule dans le mesure ou on utilise pas de "group by"
SELECT IF(
COUNT(ec.ech_id) > 0,
1,
0
) AS echeancier
FROM etc...
Et ici le retour sera toujours égal à 0 ou 1 selon que le nombre de lignes trouvées est supérieur à zéro ou non.