H2 Datenbank und Werte Aggregation

fohnbit

Benutzer
Beiträge
21
Hallo!

Ich schreibe zyklisch jede Minute Werte in eine H2 Datenbank:
timestamp ; uid ; value min ; value avg ; value max

nun bräuchte ich eine Abfrage, die folgendes macht:
Daten:
von: timestamp - 60min
bis: timestamp
kumuliert alle 5 min von "avg"
MAX von "max"
MIN von "min"


Ich möchte also das er die Werte in der DB auf 5min zusammenrechnet und 1h ausgeben.
Was 12 Zeilen Rückgabewert wäre.

-----

Dann bräuchte ich:
Daten:
von: timestamp - 24h
bis: timestamp
kumuliert alle 60 min von "avg"
MAX von "max"
MIN von "min"


usw.

leider bin ich mir nicht sicher ob das eine H2 kann bzw. wie man das generell mit SQL bewerkstelligt.
Stored Procedure ist nicht möglich!

Danke
 
Werbung:
In MSSQL ginge das in etwa so:

Code:
SELECT    datepart(minute,tabelle.[timestamp]) / 12 * 12 AS Interval,
        avg(value_min) AS value_min,
        avg(value_avg) AS value_avg,
        avg(value_max) AS value_max
FROM    tabelle
WHERE    [timestamp] >= dateadd(mi,-60,getdate())
GROUP BY datepart(minute,[timestamp]) / 12 * 12
H2 wird das ähnlich können aber mit extract() statt datepart() und statt getdate() vermutlich current_timestamp oder so.
http://www.h2database.com/html/functions.html#extract
http://www.h2database.com/html/functions.html#current_timestamp
 
Werbung:
Zurück
Oben