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 :

[AC-2010] requête calculant une somme par mois des 12 derniers mois


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Juillet 2015
    Messages : 10
    Points : 10
    Points
    10
    Par défaut [AC-2010] requête calculant une somme par mois des 12 derniers mois
    J'ai créé une table comportant 3 colonnes

    Table(ID, Mois, catégorie, Montant)

    Il me faudrait deux choses :
    a) La somme des montants par mois et par catégorie (j'ai réussi à l'obtenir grâce à simple Sum + Group BY )
    b) La somme du montant cumulé sur un an, par mois et par catégorie ( par exemple pour Mars 2015 il me faudrait la somme des montants de avril 2014 à Mars 2015 pour avril 2015 il me faudrait la somme des montants de Mai 2014 à avril 2015 etc....)

    Auriez vous des pistes?

    Merci d'avance

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour,

    Il y a un petit souci dans les informations que tu donnes :
    Tu as un champ "Mois", mais comment différencies-tu les années ?
    Normalement, tu devrais avoir un champ typé "Date" avec Jour, mois et année.
    Pour avoir les valeurs dans un intervalle, tu peux utiliser le critère ENTRE... et ...
    Et en refaisant un SUM et GROUP BY, tu peux avoir le résultat escompté.

    Cordialement,

  3. #3
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Juillet 2015
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Bonjour madefemere merci pour la réponse rapide,

    Effectivement Le nom de la colonne s'appel "mois" mais c'est bien une date.
    Concernant le critère between elle ne fonctionne qu'avec des valeurs fixes, non pas une variable déja utilisé dans un SELECT,

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Donc, si j'ai bien compris, tu souhaiterais avoir un nouveau champ qui calculerait la somme sur les 12 mois précédents du mois en cours.
    Dans ce cas, il faudrait utiliser la fonction de domaine SomDom (DSum en anglais) avec comme critère le BETWEEN, un peu comme lorsqu'on calcul un Cumul.

    Cordialement,

  5. #5
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Juillet 2015
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    ça m'avait l'air d’être une bonne piste malheureusement je ne recoit que des messages d'erreurs
    j'ai essayé le code suivant (pour tester la fonction)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Mois ,categorie,DSum("[Montant]","Table","[Mois] between #04/03/2006# And #" & Mois&"# And categorie= "& categorie) AS test
    FROM Table
    Group by Mois,Categorie;
    c'est dommage, je sent que je suis pret du but

Discussions similaires

  1. Faire une somme par mois
    Par jouclar dans le forum Général Python
    Réponses: 5
    Dernier message: 09/10/2011, 14h08
  2. [Doctrine] requête pour calculer une somme
    Par flora806 dans le forum ORM
    Réponses: 26
    Dernier message: 23/03/2011, 11h38
  3. calculer une somme géométrique
    Par sisqo77 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/07/2007, 05h48
  4. [VB.NET]Calculer une somme dans un DataGridView
    Par pat59 dans le forum Windows Forms
    Réponses: 17
    Dernier message: 09/11/2006, 14h36
  5. Requête qui fait une somme par ligne
    Par snoopy69 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 10/08/2006, 08h30

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