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 :

group by tous les mois de l'année


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut group by tous les mois de l'année
    salut,
    je veux faire une requête select pour le nombre de commandes dans un mois pour l'année actuelle
    mais je n'ai pas trouvé la solution qui envoie tous les mois de l'année et une valeur 0 si dans un mois on n'a aucun commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT        DATENAME(MONTH, DATEADD(MONTH, MONTH(COMMANDE_DATE) - 1, 0)) AS MOIS, COUNT(*) AS NOMBRE
    FROM            COMMANDE
    GROUP BY MONTH(COMMANDE_DATE)
    ===============
    je sais que le group by est faux mais j'ai pas trouvé la solution

    et merci d'avance

  2. #2
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    s'il est possible de grouper selon les 12 dernière mois (mois actuel + 11 mois précédente )

  3. #3
    Membre habitué Avatar de tfc3146
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Février 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2009
    Messages : 79
    Points : 150
    Points
    150
    Par défaut
    Le GROUP BY contient tous les éléments de ton SELECT mis à part les agrégats. Commence par là.
    C'est en faisant n'importe quoi qu'on devient n'importe qui
    Si un message vous a aidé, n'hésitez pas à mettre +1

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Il vous faut une table calendrier pour ce genre de besoin.
    Cela vous permet alors de faire une jointure externe pour afficher les mois sans commande.

    Inspirez-vous (fortement) de cet article :
    http://sqlpro.developpez.com/cours/gestiontemps/

Discussions similaires

  1. Lister tous les mois et années contenu dans une période
    Par wyzer dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/06/2011, 16h07
  2. [VxiR2] Dateadd pour récupérer tous les mois de l'année glissante
    Par nawal59 dans le forum Designer
    Réponses: 3
    Dernier message: 25/02/2011, 14h05
  3. Réponses: 4
    Dernier message: 25/06/2008, 14h57
  4. les mois de l'année
    Par hananemeryem dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 23/08/2007, 14h48
  5. Lister tous les jours d'une année
    Par Delphi-ne dans le forum Requêtes
    Réponses: 3
    Dernier message: 18/02/2007, 18h10

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