[SQL]:Somme et intervalle de date

Résolu/Fermé
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 - 18 juil. 2012 à 11:44
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 - 21 juil. 2012 à 01:37
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.
 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:

2 réponses

julie-f Messages postés 63 Date d'inscription mardi 3 juillet 2012 Statut Membre Dernière intervention 31 août 2012 10
18 juil. 2012 à 12:14
Bonjour,

une petite requête du style
SELECT  SUM(MONTANT), IDPARTICIPANT
FROM participation
where DATE >= '2010-01-01' and DATE <= '2010-12-31'
GROUP BY IDPARTICIPANT
devrait pouvoir répondre à ta problématique. Il te suffit de mettre les bonnes dates pour obtenir tes sommes...

Cordialement
Julie
0
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 23
18 juil. 2012 à 15:41
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.
0
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')
0
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 23
18 juil. 2012 à 15:43
un instant. j'essai d'appliquer ces requetes.et je vous fait savoir le resultat
0
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 23
21 juil. 2012 à 01:37
merci.ça marché et j'ai exactement le resultat attendu.
0