|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : mai 2008 Messages : 260 ![]() |
Bonjour,
Voici une table dt_hr valeur 01/01/2010 10 01/01/2010 10h00 20 01/01/2010 11h00 30 ... 01/01/2010 18h00 40 ... 02/01/2010 12h00 10 ... 03/01/2010 17h00 20 Dans le champ dt_hr j'ai tout un tas de données horodatées et j'ai les valeurs qui correspondent Je voudrais faire une requete qui me donnerait la somme des valeurs sur une plage de date/heure (par exemple du 01/01/10 au 04/01/10 puis du 05/01/10 au 08/01/10 etc... Un truc du genre : Code :
SELECT sum(value) FROM matable WHERE dt_hr BETWEEN 01/01/2010 AND 31/01/2010 GROUP BY 'TOUS LES 3 JOURS' Merci |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
A première vu je ferai ca avec une PS.
Sinon en SQL pur je verrais bien avec l'aide d'un UDF. Genre faire un regroupement par (( extraire le nombre de jour entre le debut de la période et dt_hr) Mod 3) (pour grouper par 3 jours) |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Si vous êtes sous fb>=2.1 il existe DATEDIFF qui pourrait faire l'affaire
|
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
D'ailleurs je me suis trompé, ce n'est pas avec MOD qu'il faut faire puisque ca retourne le reste de la division et non la partie entière du résultat.
Donc la requete devrait être comme ci dessous : Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : mai 2008 Messages : 260 ![]() |
Merci Barbibulle je vais regarder ca
|
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Inscription : mai 2008 Messages : 260 ![]() |
Ca marche super bien
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com