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

Décisions SGBD Discussion :

Gérer les notes d'un examen


Sujet :

Décisions SGBD

  1. #1
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut Gérer les notes d'un examen
    Bonjour,

    Depuis 2 jours je suis confronté à un problème auquel je ne trouve pas vraiment de solution.

    J'ai une table avec 2 champs : nom et note (pour noter le résultat à un concours pour l'instant).

    Je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select nom, note from ma_table where group by note DESC
    Cette requête me permet de classer les élèves par note. Ensuite j'affiche le premier enregistrement de la liste.

    Ma question est la suivante : comment réussir à connaitre l'enregistrement suivant dans l'ordre des résultats ? (question identique pour le précédent s'il existe). Le problème c'est que plusieurs élèves peuvent avoir la même note

    Actuellement j'ai complété ma requête avec des signe inférieur et supérieur, mais ça ne résoud pas le problème des notes identiques.

    Auriez vous une idée ?

    Je précise que je travaille avec MySQL.

    Merci

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 116
    Points : 71
    Points
    71
    Par défaut
    Si tu veux voir seulement les eleve avec la note faut eviter le "group"...

    un simple "select nom, note from TABLE order by note DESC"
    et ta tes nom& notes classees par ordre decroissant

    pour connaitre le suivant ou le precedent, vu que dans ta requete tu recois le tout...ca depend du language que tu utilise pour analyser ta requete...

    en php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?
    $sql="Select nom, note from TABLE order by note DESC";
    $req=$mysql_query($sql);
    while($result=mysql_fetch_array($req)){
    //TRAITEMENT DE CHAQUE TUPPLE INDIVIDUELEMENT
    }
    ?>
    lordre dans lesquels tu va retrouver les tupples sera le meme ordre que ce qui est affiche quand tu tapes la requete dans la console mysql (logique)

  3. #3
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut
    Bonjour,

    Merci pour l'idée, je pensais en fait qu'il existait peut être une solution évitant de balayer les données de la sorte.

    Je vais donc en rester à cette solution.

    Merci.

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

Discussions similaires

  1. Comment gérer les notes des examens
    Par badi3a82 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 20/07/2009, 12h01
  2. Base de données pour gérer les notes
    Par netsabes dans le forum Schéma
    Réponses: 6
    Dernier message: 23/11/2007, 18h52
  3. Gérer les clics sur les boutons
    Par cyberlewis dans le forum Windows
    Réponses: 4
    Dernier message: 08/02/2004, 15h34
  4. Comment gérer les espaces blancs?
    Par Lambo dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 16/05/2003, 09h44
  5. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 13h39

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