Bonjour,
Le titre n'est pas explicite mais je souhaiterai faire la somme d'une donnée pour chaque jour du mois même lorsqu'il n'y a pas de donnée pour tous les jours.
J'ai une table qui stocke la pluviomètrie des jours de pluie.
Voici la table:
Voici son contenu pour une journée donnée par exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 > describe rainfall ; Field Type Null Key Default Extra timestamp bigint(10) NO PRI 0 rec_date date NO 0000-00-00 rec_time time NO 00:00:00 source varchar(128) NO NULL device varchar(128) NO NULL type varchar(128) NO NULL current decimal(6,4) NO 0.0000
J'arrive à afficher le cumul de pluie par jour par exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 > SELECT * FROM rainfall where rec_date=20120101 ORDER BY timestamp DESC timestamp rec_date rec_time source device type current 1325457788 2012-01-01 23:43:08 sender 1D.61BF0D000000.B rainfall 0.2794 1325456137 2012-01-01 23:15:37 sender 1D.61BF0D000000.B rainfall 0.2794 1325455105 2012-01-01 22:58:25 sender 1D.61BF0D000000.B rainfall 0.2794 1325454004 2012-01-01 22:40:04 sender 1D.61BF0D000000.B rainfall 0.2794 1325453454 2012-01-01 22:30:54 sender 1D.61BF0D000000.B rainfall 0.2794 1325453317 2012-01-01 22:28:37 sender 1D.61BF0D000000.B rainfall 0.5588 1325453248 2012-01-01 22:27:28 sender 1D.61BF0D000000.B rainfall 0.2794 1325453179 2012-01-01 22:26:19 sender 1D.61BF0D000000.B rainfall 0.2794 1325453110 2012-01-01 22:25:10 sender 1D.61BF0D000000.B rainfall 0.2794 1325452904 2012-01-01 22:21:44 sender 1D.61BF0D000000.B rainfall 0.2794 1325451391 2012-01-01 21:56:31 sender 1D.61BF0D000000.B rainfall 0.2794 1325450703 2012-01-01 21:45:03 sender 1D.61BF0D000000.B rainfall 0.2794 1325443688 2012-01-01 19:48:08 sender 1D.61BF0D000000.B rainfall 0.2794 1325399588 2012-01-01 07:33:08 sender 1D.61BF0D000000.B rainfall 0.2794
J'affiche le résultat sous forme graphique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 > SELECT rec_date, SUM(current) as pluvio FROM rainfall GROUP BY rec_date ORDER BY timestamp DESC LIMIT 20 ; rec_date pluvio 2012-02-13 0.5588 2012-02-10 0.2794 2012-02-09 0.2794 2012-02-06 0.5588 2012-01-28 1.6764 2012-01-27 0.8382 2012-01-26 1.1176 2012-01-25 1.6764 2012-01-24 9.2202 2012-01-23 2.2352 2012-01-21 1.1176 2012-01-20 0.8382 2012-01-19 2.2352 2012-01-18 0.8382 2012-01-17 0.2794 2012-01-14 0.2794 2012-01-07 0.5588 2012-01-05 2.7940 2012-01-03 2.5146 2012-01-02 12.2936
La table ne stockant les données que pour les jours de pluie, ce que je voudrais c'est afficher aussi les jours sans pluie. La valeur serait à zéro mais le graphe serait plus parlant.
Est ce possible avec une requète SQL (mysql) ?
J'aimerai faire de même pour chaque heure d'une journée.
merci
Partager