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

Langage SQL Discussion :

Utilisation de TOP x dans SQL


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Octobre 2002
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 1
    Par défaut Utilisation de TOP x dans SQL
    Bonjour,

    J'ai une table VENTES qui contients les champs: VENDEURS, CLIENTS, MONTANT (des ventes), etc... Il y a 50 vendeurs différents et environ 10000 clients.

    Je voudrais effectuer une requête SQL qui me retourne les 5 meilleurs clients pour chacun des vendeurs. Donc, il devrait y avoir 250 enregistrements dans la réponse de la requete.

    Merci de votre aide!

  2. #2
    Membre Expert
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Par défaut
    Sous SqlServer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT top 5 vendeurs, clients, montant
       FROM ventes
    ORDER BY MONTANT DESC
    Sous Oracle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    SELECT *
    FROM (
    SELECT vendeurs, clients, montant
       FROM ventes
    ORDER BY MONTANT DESC
    )
    WHERE rownum < 6

  3. #3
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT a.Vendeur, a.Client, a.Montant
    FROM Ventes a INNER JOIN Ventes b ON a.Vendeur = b.Vendeur and a.Montant <= b.Montant
    GROUP BY a.Vendeur, a.Client, a.Montant
    HAVING COUNT(*) <= 5

  4. #4
    Membre Expert
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Par défaut
    Désolé j'ai mal lu ton premier message. J'ai cru que ton probleme était de ne récupérer que les 5 premieres rows.
    Je m'en vais me faire

    encore désolé

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/03/2008, 17h56
  2. utiliser un fichier access dans sql server
    Par gock dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 05/12/2005, 08h23
  3. [ms sql server 2000] top 1 dans une condition de jointure ?
    Par sylvkin dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/10/2005, 17h10
  4. Pl/SQL utilisation d'une variable dans un select
    Par larg dans le forum PL/SQL
    Réponses: 17
    Dernier message: 30/11/2004, 17h08

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