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 :

Requete sql top5 [AC-2003]


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 105
    Par défaut Requete sql top5
    Bonjour à tous,

    Je cherche la requête sql pour retourner les informations correspondant à un top5.

    J'en suis actuellement ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT TOP 5 Note
    FROM Poste
    WHERE cellule='cellule2'
    ORDER BY Note DESC;
    Ce qui me retourne les 5 plus hautes notes de Poste ou cellule = cellule2.

    Je cherche maintenant a retourner une autre information comme par exemple un nom contenu dans la meme ligne que la note retenue.

    Je donne un exemple de code mais qui malheureusement ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT TacheSpecifique
    FROM Poste
    WHERE (SELECT TOP 5 Note
    FROM Poste
    WHERE cellule='cellule2'
    ORDER BY Note DESC);
    Merci pour vos futur réponses

  2. #2
    Membre chevronné Avatar de MARCELBENH
    Profil pro
    DSI
    Inscrit en
    Avril 2009
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : DSI

    Informations forums :
    Inscription : Avril 2009
    Messages : 464
    Par défaut
    Bonjour,

    Si tu veux les 2 infos
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT TOP 5 NOTE,TACHESPECIFIQUE 
    FROM NOTE
    Si tu veux une seule info

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT REQ1.TACHESPECIFIQUE
    FROM
    (
    SELECT TOP 5 NOTE,TACHESPECIFIQUE 
    FROM NOTE) AS REQ1

  3. #3
    Membre chevronné
    Inscrit en
    Janvier 2008
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 486
    Par défaut
    Bonjour
    Cette requête donne les 5 plus gros notes des tachespecifique pour chaque catégorie...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT NOTE,tachespecifique FROM Note N
    WHERE N.Note IN (SELECT TOP 5 U.Note FROM Note U WHERE
                 U.tachespecifique=N.tachespecifique ORDER BY U.Note DESC)
                 ORDER BY T.tachespecifique, T.Note DESC;
    Bonne journée

    Abed_H

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 105
    Par défaut
    Bonjour et merci pour vos réponses.

    Concernant tes rêquetes MARCELBENH elles ne fonctionnent pas, je ne comprend pas vraiment comment tu appliques un second select dans un FROM.

    Merci pour ta requete Abed_H j'ai éssayé de l'adapter pour ma base de donnée mais sans succes.

    Je vais reprendre un peu l'architecture de ma table car je ne suis pas sur d'avoir été clair.

    J'ai une grande table Poste qui comprend beaucoup d'infos comme:

    TacheSpecifique, Note, Cellule etc.

    Le but de ma requete est de pouvoir afficher les 5 TacheSpecifique correspondant au 5 notes les plus hautes de chaque cellule.

    Ainsi par mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT TOP 5 Note
    FROM Poste
    WHERE cellule='cellule2'
    ORDER BY Note DESC;
    J'arrive a récupéré mes 5 notes les plus hautes par cellule et il me reste a adapté ma requete pour récuperer les TacheSpecifique correspondant aux notes récupérées.

    Merci pour votre aide.

  5. #5
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 421
    Billets dans le blog
    48
    Par défaut
    salut,
    Citation Envoyé par Nheil Voir le message
    Le but de ma requete est de pouvoir afficher les 5 TacheSpecifique correspondant au 5 notes les plus hautes de chaque cellule
    comprend pô, tu veux les 5 notes les plus hautes de chaque cellule ou bien uniquement pour la cellule='cellule2' ?
    (c.a.d les 5 meilleures notes pour 'cellule1' + les 5 meilleurs notes pour 'cellule2' + les 5 meilleurs notes pour 'cellule3' + etc...)

    un pt'it jeu de données pour éclaircir tout ça peut-être...

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 105
    Par défaut
    Raa c'est tellement difficile de se faire comprendre correctement sans la parole.

    Voila comment se passe mon application excel. Je choisi par une liste déroulante une cellule qui sera récupéré dans ma requete et qui se mettra après le cellule= . Ainsi je peux afficher les 5 tacheSpecifique avec les plus hautes notes de la cellule selectionnée.

  7. #7
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 421
    Billets dans le blog
    48
    Par défaut
    Citation Envoyé par Nheil Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT TOP 5 Note
    FROM Poste
    WHERE cellule='cellule2'
    ORDER BY Note DESC;
    J'arrive a récupéré mes 5 notes les plus hautes par cellule et il me reste a adapté ma requete pour récuperer les TacheSpecifique correspondant aux notes récupérées.
    ben ! Il suffit de rajouter TacheSpecifique dans le SELECT, non ?
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TOP 5 Note , TacheSpecifique FROM...

  8. #8
    Membre chevronné Avatar de MARCELBENH
    Profil pro
    DSI
    Inscrit en
    Avril 2009
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : DSI

    Informations forums :
    Inscription : Avril 2009
    Messages : 464
    Par défaut
    Bonjour à tous,

    Désolé... ma réponse fonctionne parfaitement ... sous sql server

    Sous access je n'avais pas testé

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 76
    Par défaut
    Bonjour,

    avant tout merci de m'avoir transmis le lien vers ce topic qui parle exactement de mon problème

    comprend pô, tu veux les 5 notes les plus hautes de chaque cellule ou bien uniquement pour la cellule='cellule2' ?
    (c.a.d les 5 meilleures notes pour 'cellule1' + les 5 meilleurs notes pour 'cellule2' + les 5 meilleurs notes pour 'cellule3' + etc...)
    C'est exactement cela que je recherche, j'aimerais un code pour selectionner les 10 meilleurs "valeurs" pour chaque "filiere" de ma table


    J'ai tester ce bout de code, mais ca ne semble pas marcher, je dois surement me tromper entre les noms de table et de champs...

    Citation Envoyé par Abed_H Voir le message
    Bonjour
    Cette requête donne les 5 plus gros notes des tachespecifique pour chaque catégorie...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT NOTE,tachespecifique FROM Note N
    WHERE N.Note IN (SELECT TOP 5 U.Note FROM Note U WHERE
                 U.tachespecifique=N.tachespecifique ORDER BY U.Note DESC)
                 ORDER BY T.tachespecifique, T.Note DESC;
    Bonne journée

    Abed_H

    pouvez-vous m'aider?

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

Discussions similaires

  1. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31
  2. Prob de requete sql et variable
    Par agent-zaizai dans le forum ASP
    Réponses: 11
    Dernier message: 21/10/2003, 16h54
  3. requete sql
    Par autumn319 dans le forum ASP
    Réponses: 22
    Dernier message: 10/09/2003, 16h46
  4. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24
  5. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43

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