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

Oracle Discussion :

classement en PL SQL


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 19
    Par défaut classement en PL SQL
    chers tous

    j'ai une table qui contient les donnees des etudiant(numero, nom, moyenne), mais je souhaiterais classer ces etudiants par ordre de merite en tenant compte des exaequo.merci de l'aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 81
    Par défaut
    Bonjour. voici la requête qui affiche les étudiants par ordre de moyenne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select numero,nom,moyenne from etudiant order by moyenne;
    maintenant je ne sais si tu veux écrire une programme PLSQL ou une procédure "Classer_Etud" qui classera les étudiants à ce moment là je pense qu'il faut rajouter une colonne "Classmt" dans la table etudiant. Que penses-tu? cordialement

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Merci de nous donner un exemple avec quelques données et le résultat que vous souhaitez.

  4. #4
    Membre averti
    Inscrit en
    Août 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 19
    Par défaut classement en PL SQL
    je prend s les etudiants de 1 a 3 avec les moyennes respectives de 10,12,15

    etudiant 1 est 3ieme
    etudiant 2 est 2ieme
    etudiant 3 est 1ier
    il s'agit de les classer

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Dans ce cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    select num, nom, moyenne, row_number()  over (order by moyenne desc) classement
    from test order by moyenne asc;
     
           NUM NOM                               MOYENNE CLASSEMENT
    ---------- ------------------------------ ---------- ----------
             1 1                                      10          3
             2 2                                      12          2
             3 3                                      15          1
    row_number() est une fonction analytique .

  6. #6
    Membre averti
    Inscrit en
    Août 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 19
    Par défaut classement en PL SQL
    merci beaucoup mais malheureusement, j'execute en pl sql oracle, il me genere des erreurs,est ce ROW_NUMBER() la bonne commande?

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Pouvez-vous nous donner:
    - votre version d'Oracle
    - la partie de code où vous avez mis la requête ?

    Merci.

  8. #8
    Membre averti
    Inscrit en
    Août 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 19
    Par défaut classement en PL SQL
    oracle version 9i
    la partie du code est SQL plus

  9. #9
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Je n'arrive pas à reproduire votre problème, chez moi ça marche en 9i:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    set serveroutput on size 1000000;
     
    select * from v$version;
     
     
     
    begin
    for c in (select num, nom, moyenne, row_number()  over (order by moyenne desc) classement 
    from test order by moyenne asc)
    loop
    dbms_output.put_line(c.classement);
    end loop; 
    end;
     
     
    BANNER                                                          
    ----------------------------------------------------------------
    Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
    PL/SQL Release 9.2.0.6.0 - Production                           
    CORE	9.2.0.6.0	Production                                       
    TNS for HPUX: Version 9.2.0.6.0 - Production                    
    NLSRTL Version 9.2.0.6.0 - Production                           
     
    5 rows selected.
     
     
     
    3
    2
    1
    PL/SQL procedure successfully completed.

Discussions similaires

  1. [SQL Server] problème de classement, calcul d'un rang
    Par lepeule dans le forum Langage SQL
    Réponses: 12
    Dernier message: 22/10/2019, 10h31
  2. Priorité de classement ds req. SQL
    Par jayan dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 03/11/2006, 12h13
  3. requete sql pour faire un classement
    Par beezee dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/03/2006, 13h03
  4. changer la collation (classement) de sql server 2000
    Par timsah dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/12/2005, 12h03
  5. classement en sql (enfin je ne sais pas comment appeler)
    Par shirya dans le forum Langage SQL
    Réponses: 1
    Dernier message: 27/09/2005, 08h29

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