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 :

Sélectionner les 15 plus grandes valeurs pour chaque mois


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 199
    Points : 58
    Points
    58
    Par défaut Sélectionner les 15 plus grandes valeurs pour chaque mois
    Bonjour

    J 'ai une table avec comme champs l'année, le mois, le nom et le nombre de ventes.
    Je voudrais sélectionner pour chaque mois les 15 plus gros vendeurs.
    Comment faire cela sous forme de requête simple ?
    Car pour l'instant j'ai une union de requête avec en union les SELECT TOP 15 de chaque mois.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT *
    FROM (SELECT TOP 15 ANNEE, MOIS, NOM, NBVENTE FROM TABVENTE WHERE MOIS = 1 AND ANNEE = 2008 ORDER BY NBVENTE DESC)
    WHERE MOIS = 1 AND ANNEE = 2008
    ORDER BY NOM
    UNION
    SELECT *
    FROM (SELECT TOP 15 ANNEE, MOIS, NOM, NBVENTE FROM TABVENTE WHERE MOIS = 2 AND ANNEE = 2008 ORDER BY NBVENTE DESC)
    WHERE MOIS = 2 AND ANNEE = 2008
    ORDER BY NOM
    etc...
    Là le gros inconvénient outres la longueur de la requête, c'est qu'à chaque nouveau mois il faut ajouter une union.
    Merci de votre aide.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 46
    Points : 40
    Points
    40
    Par défaut
    Salut !

    Le même type de problème a été posé la semaine dernière. Je te laisse regarder le topic et si tu as des interrogations, j'essaierai d'y répondre.

    http://www.developpez.net/forums/d76...valeurs-champ/

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 199
    Points : 58
    Points
    58
    Par défaut
    Bonjour et merci beaucoup pour ta réponse.
    J'ai l'impression néanmoins que je ne peux pas tester ta solution : la table contient 33,000 enregistrements et à chaque fois que je lance la requête adaptée à ma table, le CPU s'affole et la requête ne se termine pas (je dois fermer Access via le gestionnaire de tâche).

    Dans le cas où la requête serait trop gourmande, n'est-il pas possible de faire en sorte que la 1ère requête que j'ai postée se génère toute seule avec tous les mois de septembre 2008 à aujourd'hui ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/01/2011, 09h51
  2. 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
  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