IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

AVG avec des valeurs NULL


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2013
    Messages : 22
    Points : 4
    Points
    4
    Par défaut AVG avec des valeurs NULL
    Bonsoir

    De retour vers ce forum et surtout vers sql...

    Je souhaite faire une moyenne, mais avec AVG les valeurs NULL posent un problème.
    Ou alors y a t il une solution ?

    J'ai une table (mysql)

    NOM Dupont
    PRENOM Rémi
    D1 NULL
    D2 20
    D3 10
    D4 15

    Comment faire la moyenne sans tenir compte du NULL ?

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 108
    Points : 28 416
    Points
    28 416
    Par défaut
    Normalement, la fonction AVG exclut les NULL de son calcul, soit ici un résultat de 15.
    Si tu veux en fait que le NULL soit pris en compte comme un 0, il suffit de le demander :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select avg(coalesce(note, 0)) from matable

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2013
    Messages : 22
    Points : 4
    Points
    4
    Par défaut Je me suis mal expliqué..
    Mauvaise explication de ma part

    J'ai ceci
    Nom : Capture1.JPG
Affichages : 225
Taille : 27,1 Ko

    Je veux, je souhaite faire la moyenne des 5 notes de D11

    La moyenne d'une série dans une ligne...
    Pour le moment je code ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT (D11_FR + D11_HG + D11_SVT + D11_PHY + D11_TECHNO) / 5
    FROM %TABLENAME% WHERE %PKFIELD% = '%ID%'
    Mais si j'ai un null cela ne me donne rien


    PS: je "travaille" avec APPGINI.
    D'où les %tablename% etc etc

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 108
    Points : 28 416
    Points
    28 416
    Par défaut
    NULL est l'élément absorbant de toute opération.
    COALESCE est ton ami ! A utiliser sans modération sur chacune des valeurs.

    Toutefois, la structure de ta table met en évidence une erreur de conception.
    Les notes devraient être dans une table à part, composée de trois colonnes : Identifiant_Eleve, Identifiant_Matière, Note.
    Il est ainsi possible d'utiliser la fonction de regroupement AVG pour calculer des moyennes, ajouter autant de matières que nécessaire sans modifier la structure de table...

Discussions similaires

  1. [Débutant] GridView et dropdownlist avec des valeur null
    Par miniil dans le forum ASP.NET
    Réponses: 1
    Dernier message: 23/05/2013, 23h07
  2. trouver les noeuds avec des valeurs nulles
    Par awalter1 dans le forum Général Python
    Réponses: 3
    Dernier message: 28/10/2010, 14h33
  3. UNIQUE index avec des valeurs null
    Par DeeVoiD dans le forum MySQL
    Réponses: 2
    Dernier message: 24/03/2009, 16h18
  4. [C#]Incohérence de where avec des valeurs nulles
    Par ClaudeBg dans le forum Linq
    Réponses: 4
    Dernier message: 20/02/2009, 18h59
  5. Création d'un graphique OWC avec des valeurs nulles/vides
    Par SorrowLane dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/07/2008, 14h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo