Aggregieren Sie die Werte stündlich über einen Stundenbereich

Ich habe eine PostgreSQL 9.1-Datenbank mit einer Tabelle, die a enthältZeitstempel und eine MessungWert

'2012-10-25 01:00'   2
'2012-10-25 02:00'   5
'2012-10-25 03:00'   12
'2012-10-25 04:00'   7
'2012-10-25 05:00'   1
...                  ...

Ich muss den Wert stündlich über einen Bereich von 8 Stunden mitteln. Mit anderen Worten, ich brauche den Durchschnitt von 1h-8h, 2h-9h, 3h-10h usw.

Ich habe keine Ahnung, wie ich bei einer solchen Abfrage vorgehen soll. Ich habe überall gesucht, habe aber auch keine Ahnung, nach welchen Funktionalitäten ich suchen soll.

Die Abschlüsse, die ich finde, sind Stunden- / Tagesmittelwerte oder Blockmittelwerte (z. B. 1h-8h, 9h-16h usw.). In diesen Fällen wird der Zeitstempel jedoch einfach mit dem konvertiertdate_trunc() Funktion (wie im Beispiel unten), die für mich nicht von Nutzen ist.

Was ich zu suchen glaube, ist eine ähnliche Funktion

SELECT    date_trunc('day', timestamp), max(value) 
FROM      table_name
GROUP BY  date_trunc('day', timestamp);

Verwenden Sie dann in der group-by-Klausel für JEDE Stunde einen 8-Stunden-Bereich. Ist das überhaupt möglich?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage