Mittelwerte über Zeitraum

jblack

Benutzer
Beiträge
6
hi,

möchte Temperaturwerte mitteln, über einen Zeitraum, auf stunden/minuten basis.
mit folgenden sql bekomme ich das ganze über einen tag hin, hier im 15min takt:

SELECT

round( AVG(TEMP),1) as TEMP,

strftime ('%H:%M',DATETIME(DATUMZEIT, '+1 minutes')) PERX_MIN

FROM eTemp where datetime(DATUMZEIT) BETWEEN datetime('2020-04-20 00:00:00') and datetime('2020-04-20 22:00:00')

group by strftime('%s',DATUMZEIT)/60/15


möchte das ganze nun auch zb. über einen monat wissen und nicht nur für einen tag.
d.h. ein wert für einen zeitraum über mehrere tage, zb:

zeit - avg temp
06:15 - 22,1
06:30 - 23,6
06:45 - 22,2
.
.
.
.
(für den monat mai zb)

tabellenfelder:
ID INTEGER NULL,
DATUMZEIT TEXT NULL,
TEMPSENSOR REAL NULL,

daten liegen im minutentakt vor , zb.:

ID | DATUMZEIT | TEMPSENSOR
1| 2020-03-22 12:07:00| 19.0
2| 2020-03-22 12:08:00 | 21.0
3 | 2020-03-22 12:09:00 | 21.0
4 | 2020-03-22 12:10:00 | 21.5
5 | 2020-03-22 12:11:00 | 22.5
6 | 2020-03-22 12:12:00 | 22.5
7 | 2020-03-22 12:13:00 | 22.5
8 | 2020-03-22 12:14:00 | 22.5
9 | 2020-03-22 12:15:00 | 22.5
10 | 2020-03-22 12:16:00 | 22.5
11 | 2020-03-22 12:17:00 | 22.5
12| 2020-03-22 12:18:00 | 22.5
13 | 2020-03-22 12:19:00 | 22.2
14 | 2020-03-22 12:20:00 | 22.0

wie am besten vorgehen ?

thx
 
Werbung:
Werbung:
so habe ich es gelöst:

SELECT

round( AVG(TEMPSENSOR),1) as avg_temp,
strftime('%Y',DATUMZEIT) as jahr,
strftime ('%H:%M',DATETIME(DATUMZEIT, '+1 minutes')) time

FROM ETEMP WHERE

strftime('%Y', DATUMZEIT) = '2020'
and strftime('%m', DATUMZEIT) = '08'
and strftime('%d', DATUMZEIT) = '17'
and time(DATUMZEIT) BETWEEN ('05:45:00') and ('21:59:59')

GROUP BY jahr, strftime('%s',TIME(DATUMZEIT))/60/15

ORDER BY time


;)
 
Zurück
Oben