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 et SQL. Discussion :

Isoler grace à TOP les 5 plus fortes valeurs mais sur plusieurs aggrégation?


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 193
    Points : 47
    Points
    47
    Par défaut Isoler grace à TOP les 5 plus fortes valeurs mais sur plusieurs aggrégation?
    Bonjour,
    Le titre est pas clair , je sais mais la question est simple.
    Imaginons un lycée avec 3 classes allant de la seconde à la terminale.
    Je souhaite pour chacun des niveaux Récupérer les 3 meilleurs notes...Comment faire?

    Exple:

    Jean seconde 15
    Marc seconde 14
    André seconde 13
    Jean Luc 1e 12.5
    Stephanie 1e 11
    Lucie 1e 10
    Audrey Terminale 15
    Jean Terminale 15
    Louis Terminale 15


    Je sais le faire classe par classe en 3 requetes et 3 TOP mais pas en une seule

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT a.classe, a.nom, a.note
    FROM matable AS a
    WHERE (select count(note) from matable where classe=a.classe and note>=a.note)<6;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 83
    Points : 107
    Points
    107
    Par défaut
    Bonjour,

    Code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT C1,C2 from
    (
    SELECT TOP 5 C1, C2 FROM TABLE1 WHERE c1 = 'a' ORDER BY C2 DESC
    UNION 
    SELECT TOP 5  C1, C2 FROM TABLE1 WHERE c1 = 'b' ORDER BY C2 DESC
    UNION
    SELECT TOP 5  C1, C2 FROM TABLE1 WHERE c1 = 'C' ORDER BY C2 DESC
    )
    AS table1
    order by c1 ;

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 193
    Points : 47
    Points
    47
    Par défaut
    Merci pour avoir embelli ma vie professionnelle d'aujourd'hui

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

Discussions similaires

  1. determiner les 3 plus grandes valeurs numeriques du for-each
    Par makohsarah dans le forum Struts 1
    Réponses: 1
    Dernier message: 15/06/2008, 16h37
  2. Réponses: 4
    Dernier message: 12/04/2008, 12h42
  3. trouver les 10 plus grandes valeurs
    Par audrey2112 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/11/2007, 11h30
  4. isoler les 2 plus grandes valeurs d'une liste
    Par marlene.ln dans le forum Access
    Réponses: 3
    Dernier message: 29/01/2007, 10h22
  5. [Debutante] trouver les 5 plus grandes valeurs
    Par Sarrus dans le forum Langage SQL
    Réponses: 11
    Dernier message: 25/07/2005, 15h39

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