1. #1
    Membre du Club
    Profil pro
    informatique
    Inscrit en
    novembre 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : informatique

    Informations forums :
    Inscription : novembre 2009
    Messages : 167
    Points : 59
    Points
    59

    Par défaut Problème au niveau de SQL analytique

    bonjour à tous , mon problème concerne le calcul de la moyenne mais en tenant compte des coefficients. La fonction avg calcule bien la moyenne mais ne prend pas en compte les coefficients.
    voici en fait l'exercice sur lequel je travail,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    module(codemod,libelé_module,coefficient)
    etudiant(matricule,nom)
    etudiant-module(matricule,codemod,note)
    on veut connaitre le rang de chaque étudiant en fonction de sa moyenne(en tenant compte des coefficients)
    et je dois obtenir un résultat de la forme:
    matricule nom moyenne Rang
    (pour le rang j'utiliserai la fonction rank() ou dense_rank)
    merci

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur d'études en décisionnel
    Inscrit en
    septembre 2008
    Messages
    7 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en décisionnel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2008
    Messages : 7 125
    Points : 14 920
    Points
    14 920

    Par défaut

    Il faut multiplier la note par le coefficient, en faire la somme pour chaque étudiant, et de diviser par le cumul des coefficients.

    Sinon pour le rang vous avez raison, les fonctions rank / dense_rank sont parfaitement indiquées.

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

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