Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Inscrit en
    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...

  2. #2
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 817
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Âge : 51
    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 817
    Points : 23 075
    Points
    23 075

    Par défaut

    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 !

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •