[SQL]:Somme et intervalle de date
Résolu
ajp55
Messages postés
426
Date d'inscription
Statut
Membre
Dernière intervention
-
ajp55 Messages postés 426 Date d'inscription Statut Membre Dernière intervention -
ajp55 Messages postés 426 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
suis entrain de réaliser une petite application intranet avec base de données derrière.
j'ai une table des participant et une autre table des participation.
la table participant stocke les infos sur les participant du groupe.
voilà la structure de la table participation.
le problème. je voudrais une requete sql qui va selectionner en fonction de l'IDPARTICIPANT(foreign key), la somme des montants qu'il aura versé sur un intervalle soit mensuellement, soit annuellement et ou hebdomadaire.
Par exemple, pour le selection annuelle. on aura
année : 2008 suivi de la somme du montant versé en 2008.
année 2009 suivi de la somme du montant versé en 2009.
il va donc falloir selectionner un intervalle de date et appliquer l'opération SUM.
quelqu'un peut-il m'aider. je ne sais comment y procéde.
suis entrain de réaliser une petite application intranet avec base de données derrière.
j'ai une table des participant et une autre table des participation.
la table participant stocke les infos sur les participant du groupe.
voilà la structure de la table participation.
TABLE 'participation' ( 'ID' int(11) NOT NULL AUTO_INCREMENT, 'IDPARTICIPANT' varchar(60) NOT NULL, 'MONTANT' double DEFAULT NULL, 'DATE' datetime NOT NULL, PRIMARY KEY ('ID'), )
le problème. je voudrais une requete sql qui va selectionner en fonction de l'IDPARTICIPANT(foreign key), la somme des montants qu'il aura versé sur un intervalle soit mensuellement, soit annuellement et ou hebdomadaire.
Par exemple, pour le selection annuelle. on aura
année : 2008 suivi de la somme du montant versé en 2008.
année 2009 suivi de la somme du montant versé en 2009.
il va donc falloir selectionner un intervalle de date et appliquer l'opération SUM.
quelqu'un peut-il m'aider. je ne sais comment y procéde.
A voir également:
- Interval en sql
- Logiciel sql - Télécharger - Bases de données
- Requete sql pix - Forum PHP
- Additions et multiplication dans des requêtes SQL ✓ - Forum MySQL
- Sql query download - Télécharger - Gestion de données
- Ora-00933: la commande sql ne se termine pas correctement ✓ - Forum Oracle
2 réponses
Bonjour,
une petite requête du style
Cordialement
Julie
une petite requête du style
SELECT SUM(MONTANT), IDPARTICIPANT FROM participation where DATE >= '2010-01-01' and DATE <= '2010-12-31' GROUP BY IDPARTICIPANTdevrait pouvoir répondre à ta problématique. Il te suffit de mettre les bonnes dates pour obtenir tes sommes...
Cordialement
Julie
ajp55
Messages postés
426
Date d'inscription
Statut
Membre
Dernière intervention
23
cool, merci, sauf que je souhaite aussi selectionner la date intervalle sur la meme ligne. c'est le bilan de participation que je souhaite imprimer. cette requete marche mais faudrait toutefois préciser les dates intervalles. je crois que le message suivant répond à mon problème.
Par an
SELECT SUM(MONTANT), IDPARTICIPANT, YEAR('DATE') periode
FROM participation
GROUP BY IDPARTICIPANT, YEAR('DATE')
Par mois
SELECT
SUM(MONTANT), IDPARTICIPANT,
CONCAT( YEAR('DATE'), '-' , MONTH('DATE') ) periode
FROM participation
GROUP BY IDPARTICIPANT, YEAR('DATE'), MONTH('DATE')
Par semaine
SELECT
SUM(MONTANT), IDPARTICIPANT,
CONCAT( YEAR('DATE'), '-S' , WEEK('DATE') ) periode
FROM participation
GROUP BY IDPARTICIPANT, YEAR('DATE'), WEEK('DATE')
SELECT SUM(MONTANT), IDPARTICIPANT, YEAR('DATE') periode
FROM participation
GROUP BY IDPARTICIPANT, YEAR('DATE')
Par mois
SELECT
SUM(MONTANT), IDPARTICIPANT,
CONCAT( YEAR('DATE'), '-' , MONTH('DATE') ) periode
FROM participation
GROUP BY IDPARTICIPANT, YEAR('DATE'), MONTH('DATE')
Par semaine
SELECT
SUM(MONTANT), IDPARTICIPANT,
CONCAT( YEAR('DATE'), '-S' , WEEK('DATE') ) periode
FROM participation
GROUP BY IDPARTICIPANT, YEAR('DATE'), WEEK('DATE')