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

Bases de données Delphi Discussion :

Comment faire cette requête ?


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Cazaux-Moutou-Philippe
    Inscrit en
    Mai 2005
    Messages
    674
    Détails du profil
    Informations personnelles :
    Âge : 76

    Informations forums :
    Inscription : Mai 2005
    Messages : 674
    Par défaut Comment faire cette requête ?
    Bonjour

    j ai une table dedans, 2 colonnes
    Date
    Montant

    je voudrais, faire un tableau des 12 derniers mois avec pour chaque mois le total du mois

    partant de ce mois ci : octobre
    je voudrais avoir octobre, sept, aout, juillet etc... et le cumul pour chacun

    comment faire cette requete ?
    merci

  2. #2
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    Tu crée une table avec 4 colonnes une première avec l'année , une seconde avec le mois, une troisième avec la date de début du mois, une quatrième avec la date de début du mois suivant.
    Tu lies cette table avec ta table dans ta requête tu met le filtre et les agrégations dans la première table.

  3. #3
    Membre éclairé Avatar de Cazaux-Moutou-Philippe
    Inscrit en
    Mai 2005
    Messages
    674
    Détails du profil
    Informations personnelles :
    Âge : 76

    Informations forums :
    Inscription : Mai 2005
    Messages : 674
    Par défaut
    on doit bien pouvoir faire ca sans creer une table, non ?

  4. #4
    Membre très actif Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Par défaut
    Le plus simple est de ne pas s'occuper de filtrer la date comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT EXTRACT (YEAR FROM date) annee,EXTRACT (MONTH FROM date) mois, SUM ( Montant)
    FROM table
    GROUP BY annee,mois
    ORDER BY annee DESC,mois DESC
    ROWS 12

    Sur serveur Firebird 2.

  5. #5
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Citation Envoyé par TryExceptEnd Voir le message
    Le plus simple est de ne pas s'occuper de filtrer la date comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT EXTRACT (YEAR FROM date) annee,EXTRACT (MONTH FROM date) mois, SUM ( Montant)
    FROM table
    GROUP BY annee,mois
    ORDER BY annee DESC,mois DESC
    ROWS 12

    Sur serveur Firebird 2.
    Version plus courte (moins de caractères à tapper )

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT YEAR(date) annee,MONTH(date) mois, SUM ( Montant)
    FROM table
    GROUP BY annee,mois
    ORDER BY annee DESC,mois DESC
    ROWS 12
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Citation Envoyé par Rayek Voir le message
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT YEAR(date) annee,MONTH(date) mois, SUM ( Montant)
    FROM table
    GROUP BY annee,mois
    ORDER BY annee DESC,mois DESC
    ROWS 12
    Pour info,
    Sous Firebird les fonctions (intégrées) Year, Month, Day,... n'existent pas. C'est bien Extract, qu'il faut utiliser.

    @+ Claudius.

Discussions similaires

  1. Comment faire cette requête ?
    Par yacine.dev dans le forum Hibernate
    Réponses: 1
    Dernier message: 18/06/2010, 12h21
  2. Comment faire ma requête SELECT ?
    Par MaTHieU_ dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 07/07/2006, 16h23
  3. Comment faire cette vue ?
    Par jibe74 dans le forum SQL
    Réponses: 3
    Dernier message: 21/10/2005, 16h30
  4. [SQL] Comment faire ma requête
    Par kaiserazo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/05/2005, 10h39

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