MySQL: COUNT ignore les lignes où count = 0

Résolu
nz_janvier Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   -  
nz_janvier Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   -
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

2 réponses

Delta9_THC Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   2
 
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
1
nz_janvier Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   17
 
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
0