Précédent   Forum du club des développeurs et IT Pro > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/12/2012, 11h07   #1
epfyffer
Invité de passage
 
Inscription : novembre 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 28
Points : 3
Points : 3
Par défaut Lister tous les résultats avec un COUNT, même les NULL ?

Bonjour,

Je cherche à afficher un tableau qui listerait le nombre de minutes de fonctionnement d'un appareil par mois, en me basant sur la température d'un capteur. J'ai réussi à disséquer le champ date pour faire un groupement par années / mois, et à faire le comptage des minutes...

Voilà ma requête :
Code :
1
2
3
4
5
6
SELECT EXTRACT( YEAR FROM id ) AS OrderYear, 
EXTRACT(MONTH FROM id ) AS OrderMonth, 
COUNT(`Temperature sensor 3` ) AS MinutesPAC
FROM pouleto
WHERE  `Temperature sensor 3` >51
GROUP BY OrderYear, OrderMonth
Et voilà le résultat retourné par cette query :

Code :
1
2
3
4
5
6
7
8
9
OrderYear    OrderMonth      MinutesPAC
2012              1              3637
2012              2              12509
2012              3              665
2012              4              800
2012              9              4537
2012             10              1473
2012             11              1798
2012             12              12920
Tout fonctionne bien, j'ai les bonnes valeurs qui sont retournées par la query.

Par contre, je rencontre un problème, il y a des mois où l'appareil ne fonctionne pas du tout (on parle d'une pompe à chaleur, donc en été elle est au repos). On voit dans les résultats que les mois de mai (2012 - 5), juin (2012 - 6), juillet (2012 - 7) et août (2012 - 8) ne sont pas affichés dans la grille des résultats vu que le résultat est zéro...

Y a-t-il un moyen pour tout de même lister ces résultats ? L'idée est de préparer une grille qui sera utilisée comme base pour des graphiques en ligne, sur lesquels tous les mois devraient être affichés...

Merci d'avance de votre aide, là j'ai écumé les forums mais sans succès...
epfyffer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2012, 11h39   #2
CinePhil
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 13 659
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 49
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 13 659
Points : 25 561
Points : 25 561
Envoyer un message via MSN à CinePhil
S'il n'y a pas de données pour ces mois dans la table, il faut créer une table des mois et des années et faire une jointure externe à partir de celle-ci.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 13h56.


 
 
 
 
Partenaires

Hébergement Web