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 :

créer une requête pour regrouper par mois


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 83
    Points : 45
    Points
    45
    Par défaut créer une requête pour regrouper par mois
    Bonjour,
    On va dire que j'ai une table qui se nomme "t_saisie" dans laquelle j'ai 2 champs "nombre de pièces" et "date de reception".
    Dans mon champ "nombre de pièces" j'ai des nombres et dans mon champ "date de reception" j'ai biensur des dates (au format jj-mm-aa).
    Mon souhait et de faire la somme des "nombre de pièces" mais par mois.
    Pour le moment je n'arrive qu'à faire un regroupement par date car je n'arrive pas à généré uniquement des mois :
    SELECT Sum(t_saisie.[nombre de pièces]) AS [SommeDenombre de pièces], t_saisie.[date de reception]
    FROM t_saisie
    GROUP BY t_saisie.[date de reception]
    ORDER BY t_saisie.[date de reception];
    Donc pour le moment j'ai bien la somme de tous mes "nombre de pièces" qui ont été receptionnés le même jour mais je souhaite avoir le resultat de la somme de mes "nombre de pièces" qui ont été receptionnés dans le mois.

    Je vous remercie si vous arriver à m'éclairer car là je pédale dans la semoule !

    Merci

    Nicolas

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT Sum(t_saisie.[nombre de pièces]) AS [SommeDenombre de pièces], Month(t_saisie.[date de reception])
    FROM t_saisie
    GROUP BY Month(t_saisie.[date de reception])
    ORDER BY Month(t_saisie.[date de reception]);
    mais sans distinction entre les années...

    Philippe

  3. #3
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 83
    Points : 45
    Points
    45
    Par défaut
    Bonsoir,

    Avec ce dernier code, ça me regroupe bien par mois mais sans distinction de l'année. Or je souhaite prendre en compte l'année également ; c'est pour faire un suivi historique

    Nicolas

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,

    J'essaie quand même malgré ceux qui sont en embuscade :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT Sum(t_saisie.nombre_de_pièces) AS SommeDenombre_de_pièces,
    Month([date_de_reception]) AS MoisReception, DatePart("m",[date_de_reception])
    AS ExemplePartDate, Format([date_de_reception],"mmmm") AS ExempleFormat,
    MonthName([MoisReception],False) AS [Exemple MonthName],
    Year([date_de_reception]) AS AnReception
    FROM t_saisie
    GROUP BY Month([date_de_reception]), DatePart("m",[date_de_reception]),
    Format([date_de_reception],"mmmm"), Year([date_de_reception]);
    Cordialement.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    re,

    Une 1ère solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT
     Sum(t_saisie.[nombre de pièces]) AS [SommeDenombre de pièces],
     Year(t_saisie.[date de reception]) AS Expr1,
     Month(t_saisie.[date de reception]) AS Expr2
    FROM
     t_saisie
    GROUP BY
     Year(t_saisie.[date de reception]),
     Month(t_saisie.[date de reception])
    ORDER BY
     Year(t_saisie.[date de reception]),
     Month(t_saisie.[date de reception]); 
    ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT
     Sum(t_saisie.[nombre de pièces]) AS [SommeDenombre de pièces],
     DateSerial(Year(t_saisie.[date de reception]),Month(t_saisie.[date de reception]),1)
    FROM
     t_saisie
    GROUP BY
     DateSerial(Year(t_saisie.[date de reception]),Month(t_saisie.[date de reception]),1)
    ORDER BY
     DateSerial(Year(t_saisie.[date de reception]),Month(t_saisie.[date de reception]),1);
    Vous pouvez faire des variations sur le thème...

    Philippe

  6. #6
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 83
    Points : 45
    Points
    45
    Par défaut
    C'est gentil d'avoir tenté mais ça ne marche pas.

    Nicolas

  7. #7
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 83
    Points : 45
    Points
    45
    Par défaut
    J'avais pas vu le dernier message

    mais le code
    SELECT
    Sum(t_saisie.[nombre de pièces]) AS [SommeDenombre de pièces],
    DateSerial(Year(t_saisie.[date de reception]),Month(t_saisie.[date de reception]),1)
    FROM
    t_saisie
    GROUP BY
    DateSerial(Year(t_saisie.[date de reception]),Month(t_saisie.[date de reception]),1)
    ORDER BY
    DateSerial(Year(t_saisie.[date de reception]),Month(t_saisie.[date de reception]),1);
    commence bien à me plaire. Il me fait bien le regroupement par mois en datant tous les résultats au 1er jour du mois.
    La dernière petite amélioration consiterait à supprimer simplement la notion de jour et m'afficher 01/2008 ou janv-08 à la place de 01/01/2008
    Est-ce possible ?
    Merci
    Nicolas

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    voilà chef,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT
     Sum(t_saisie.[nombre de pièces]) AS [SommeDenombre de pièces],
     Format(t_saisie.[date de reception],"mm-yyyy") AS [Mois-Année]
    FROM
     t_saisie
    GROUP BY
     Format(t_saisie.[date de reception],"mm-yyyy")
    ORDER BY
     Format(t_saisie.[date de reception],"mm-yyyy");
    Philippe

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    et une autre pour trier en priorité par les années:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SELECT
     Sum(t_saisie.[nombre de pièces]) AS [SommeDenombre de pièces],
     Format(t_saisie.[date de reception],"mm-yyyy") AS [Mois-Année]
    FROM
     t_saisie
    GROUP BY
     Year(t_saisie.[date de reception]),
     Format(t_saisie.[date de reception],"mm-yyyy")
    ORDER BY
     Year(t_saisie.[date de reception]),
     Format(t_saisie.[date de reception],"mm-yyyy");
    Philippe

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,

    Je suis content d'être gentil. Chez moi ça marche.

    Cordialement.

    Ps : Je tente est une blague de "Potaches" destinées à ceux qui se reconnaissent.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  11. #11
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 83
    Points : 45
    Points
    45
    Par défaut
    C'est impeccable !

    Merci à tous pour votre aide

    Nicolas

  12. #12
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    francishop,
    j'appel ca: tué dans l'oeuf...

    je confirme chez lui ca marche et il est très gentil: reste plus qu'à s'y rendre

  13. #13
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    c'est vrai qu'il est sympa Francishop.
    Y'a des visites organisées de son atelier ?

    Philippe

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

Discussions similaires

  1. [AC-2007] Sélectionner les résultats d'une requête analyse croisée par mois
    Par cslbcg dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 03/12/2009, 16h21
  2. Besoin d'aide pour créer une requête
    Par fabien59420 dans le forum Requêtes et SQL.
    Réponses: 44
    Dernier message: 26/05/2008, 11h08
  3. Créer une requête de filtre par un formulaire?
    Par doogybreton dans le forum IHM
    Réponses: 4
    Dernier message: 10/12/2007, 15h26
  4. Réponses: 8
    Dernier message: 09/01/2007, 16h30
  5. [Requête] Regroupement par mois en cours
    Par Burnout dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 09/01/2006, 09h36

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