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

Développement SQL Server Discussion :

Requete type statistique


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Points : 47
    Points
    47
    Par défaut Requete type statistique
    Bonjour,

    Imaginons une table TABLE avec les champs NOM, OBJET, DATE.
    J'aimerai compter le nombre d'enregistrement par mois, année, pour tous les mois de l'année en cours.... Et avoir 0 si il n'y en a pas !!!
    par ex :
    01 2008 0
    02 2008 6
    03 2008 77
    ....

    Comment faire ?

    Merci par avance de vos réponses..

    Tatone

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    Je te conseille d'étudier l'utilisation de la clause "group by" qui te permet de'effectuer des regroupement lors de l'utilisation des opérateurs d'aggrégation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT ch1, count(*) FROM maTable
    WHERE ....
    GROUP BY ch1
    Maintenant, à toi d'utiliser cette clause pour répondre à ton besoin.
    Bon courage pour la suite.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Points : 47
    Points
    47
    Par défaut
    Effectivement, le group by est requis...
    sauf que le count(*) ne peut renvoyer 0, il ne prend pas les valeurs NULL

    De plus, dans ma table, je n'ai pas forcément tous les mois, de toutes les années....

    C'est pourquoi, j'avais évoqué, en exemple, le mois de janvier.

    Tatone

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    Pour ton léger soucis, j'ai une solution mais qui m'apparaît un peu lourde. C'est une solution rapide et pas optimisée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    declare @annee VARCHAR(4)
    set @annee = '2008'
     
    select '01/'+@annee,isnull(count(*),0) from maTable
    where left(convert(varchar(8),maDate,112),6)=@annee+'01'
    UNION
    select '02/'+@annee,isnull(count(*),0) from maTable
    where left(convert(varchar(8),maDate,112),6)=@annee+'02'
    UNION
    ...
    select '12/'+@annee,isnull(count(*),0) from maTable
    where left(convert(varchar(8),maDate,112),6)=@annee+'12'
    Voilà, bon courage.
    Bon courage pour la suite.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Points : 47
    Points
    47
    Par défaut
    Merci beaucoup, cette méthode fonctionne très bien !!

    Il n'existe pas une table système, DATE sur laquelle faire une requête avec jointure pour avoir ce même résultat ?
    Il me semble avoir ce souvenir mais je n'en suis pas sure...

    Tatone

    PS : Merci Merci Merci !!!

Discussions similaires

  1. Requete type statistique
    Par tatone dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/03/2008, 09h11
  2. requete pour statistiques
    Par pimpmyride dans le forum Requêtes
    Réponses: 7
    Dernier message: 18/01/2007, 16h28
  3. Peux t on sauver des requetes "types"
    Par Sagsag dans le forum Access
    Réponses: 2
    Dernier message: 24/04/2006, 21h39
  4. plantage macro avec requete type insert
    Par zephyr59 dans le forum Access
    Réponses: 4
    Dernier message: 06/04/2006, 00h34
  5. [HTTP] Requete type formulaire
    Par Dahu dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 25/05/2005, 11h22

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