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

Requêtes MySQL Discussion :

calcul la moyenne AVG


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 51
    Par défaut calcul la moyenne AVG
    Bonjour, pourriez-vous m'aider à résoudre ce problème? Merci

    Quand un table a des champs comme nom et prenom des étudiants, leurs notes aux différents enseignements, est-il possible de faire une requête qui sort la moyenne de chaque étudiant?
    Comment faire la moyenne sur un seul enseignement et afficher les noms des étudiants pour ceux qui sont au-dessous de la moyenne de cet enseignement?

    Merci beaucoup !

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    je comprends ta modélisation ainsi :

    tu as une table Etudiants(Nom, Prenom, Note1, Note2, Note3).

    La moyenne de chaque étudiant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT Nom, Prenom, (Note1 + Note2 + Note3) / 3 AS Moyenne
    FROM Etudiants
    La moyenne de l'enseignement 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT AVG(Note1) AS Moyenne
    FROM Etudiants
    Les étudiants qui sont en-dessous de la moyenne dans cet enseignement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT Nom, Prenom, Note1
    FROM Etudiants
    WHERE Note1 < (
      SELECT AVG(Note1) 
      FROM Etudiants
    )
    Tu remarqueras que cet modélisation t'oblige à modifier les requêtes à chaque fois que tu ajoutes un enseignement. La modélisation normalisée serait d'utiliser trois tables : Etudiants(IDetudiant, Nom, Prenom), Enseignements(IDenseig, TitreEnseig) et Notes(IDetudiant, IDenseig, Note)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 51
    Par défaut
    Bonjour

    Merci de votre conseille. Une question sur la table de notes(nom, prenom, code, note). Je voudrais avoir la moyenne des notes de chaque étudiant, et classé par cette note en décroissant. Mais j'ai du difficulté à le faire. Voici le code mais je l'ai classé par leur nom.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT nom, prenom, AVG(note) as moyenne
    FROM notes
    GROUP BY nom
    HAVING AVG(note)>10
    Est-il possible de classer par la note moyenne que l'on obtient ?

    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    order by 3 desc

    (3 désigne la 3ème colonne du SELECT)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 51
    Par défaut
    Merci beaucoup, mais il n'est pas possible de mettre ORDER BY quand il y a AVG dans la requête. Pourriez vous préciser comment faire?

    Merci en avance!

  6. #6
    Membre Expert
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Par défaut
    Ben justement "order by 3 desc"
    Ou alors ici "ORDER BY moyenne DESC"

  7. #7
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Citation Envoyé par ciel65
    Merci beaucoup, mais il n'est pas possible de mettre ORDER BY quand il y a AVG dans la requête.
    bien sûr que si !
    si tu n'y arrives pas, donne-nous ton SQL et ton message d'erreur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E] problème de calcul de moyenne
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/04/2006, 17h13
  2. [Oracle] Calcul de moyenne par module
    Par naazih dans le forum Langage SQL
    Réponses: 14
    Dernier message: 27/04/2006, 14h38
  3. Programmation Shell avec Red Hat Calcul de moyenne
    Par jcpoulard dans le forum Linux
    Réponses: 3
    Dernier message: 22/02/2006, 22h08
  4. methode qui calcul une moyenne du traffic
    Par siry dans le forum Développement
    Réponses: 7
    Dernier message: 05/05/2005, 17h16
  5. calculer une moyenne avec une requete externe
    Par allowen dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2005, 16h02

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