MySQL: COUNT ignore les lignes où count = 0
Résolu
nz_janvier
Messages postés
146
Statut
Membre
-
nz_janvier Messages postés 146 Statut Membre -
nz_janvier Messages postés 146 Statut Membre -
Bonjour à tous,
j'ai écrit la requête suivante:
SELECT themes_forum.numero_theme, themes_forum.libelle, count( numero_reponse )
FROM themes_forum, reponses_forum
WHERE themes_forum.numero_theme = reponses_forum.numero_theme
AND themes_forum.statut = 'visible'
AND reponses_forum.statut = 'visible'
GROUP BY themes_forum.numero_theme
Elle affiche le résultat voulu uniquement pour les thèmes ayant au moins une réponse
or je voudrai avoir aussi les autres, avec un count = 0
Je ne sais pas où est le pb dans ma requête
Merci
j'ai écrit la requête suivante:
SELECT themes_forum.numero_theme, themes_forum.libelle, count( numero_reponse )
FROM themes_forum, reponses_forum
WHERE themes_forum.numero_theme = reponses_forum.numero_theme
AND themes_forum.statut = 'visible'
AND reponses_forum.statut = 'visible'
GROUP BY themes_forum.numero_theme
Elle affiche le résultat voulu uniquement pour les thèmes ayant au moins une réponse
or je voudrai avoir aussi les autres, avec un count = 0
Je ne sais pas où est le pb dans ma requête
Merci
2 réponses
-
Salut,
si je comprends bien je pense que c'est normal, MySQL ne compte pas les lignes aux valeurs nulles, mais tu peux utiliser une fonction du type IFNULL.
Regarde là :
https://dev.mysql.com/doc/refman/8.0/en/control-flow-functions.html -
salut,
en fait il faut faire un JOIN
SELECT themes_forum.numero_theme, count(numero_reponse)
FROM themes_forum
LEFT JOIN reponses_forum
ON themes_forum.numero_theme = reponses_forum.numero_theme
GROUP BY themes_forum.numero_theme
Merci