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 :

La note au dernier contrôle de chaque élève.


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut La note au dernier contrôle de chaque élève.
    Bonjour !
    Pour illustrer mon problème, prenons une table repertoriant les notes de tous élève. Trois colones : l'identifiant de l'élève, la note, la date.

    Je souhaite obtenir la note de chaque élève au dernier controle (le plus récent), sachant que le dernier contrôle de chaque élève ne correspond pas forcement à la même date.
    Pour le moment je fonctionne de cette manière :

    SELECT eleve, note, date
    FROM classe c1
    WHERE date=(SELECT MAX(c2.date)
    FROM classe c2
    WHERE c1.eleve = c2.eleve)


    Visibilement dans la documentation française de mysql http://dev.mysql.com/doc/refman/5.0/...group-row.html d'autres méthodes sont préconisées (je suis sous mysql 5.0.22)

    Les commentaires sur la version anglaise proposent encore d'autres méthodes :
    http://dev.mysql.com/doc/refman/5.0/...group-row.html

    Enfin je pensais à un dernière méthode : créer une quatrième colone de type enum(0,1) où la valeur 1 indique la derniere note entrée dans la base (les notes sont entrées chronologiquement). Ce qui simplifierait le SELECT mais alourdirait la table.

    Je vous demande votre avis. Merci d'avance

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Salut,

    Il vaut mieux croire la version anglaise qui est plus à jour (les modifications ont d'ailleurs tenu compte des commentaires utilisateurs) et qui propose la requête la plus sensée.

    Quant à ta solution, elle oblige à tenir à jour constamment la colonne derniere_note, ce qui n'est pas évident. En cas d'incohérence dans cette colonne, ça peut devenir un beau bazar...
    Pensez au bouton

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    D'accord, je garde donc mon SELECT, merci pour ces infos!

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 18/10/2007, 12h18
  2. extraire le dernier mot de chaque ligne
    Par bezoindaidde dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 28/03/2007, 07h47
  3. Réponses: 15
    Dernier message: 28/02/2007, 10h00
  4. Copie dernier élément de chaque type, sur la feuille suivante
    Par baptbapt dans le forum Macros et VBA Excel
    Réponses: 33
    Dernier message: 26/07/2006, 09h59
  5. Réponses: 26
    Dernier message: 01/07/2006, 13h14

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