Zwei Sensorwerte zusammenführen

jblack

Benutzer
Beiträge
6
hi,

habe hier x temp. Sensoren die mit folg. Struktur in einer Sqlite Tabelle abgebildet werden:
ein index liegt auf DATUMZEIT.

ID - SENSORID - TEMP.WERT - DATUMZEIT

166 8761 21.0 2021-10-30 15:40:01
167 8761 21.0 2021-10-30 15:40:01
168 9216 37.4 2021-10-30 15:40:01
170 1657 16.5 2021-10-30 15:40:39
171 8761 22.0 2021-10-30 15:40:40
172 8761 21.0 2021-10-30 15:40:41
173 8761 21.0 2021-10-30 15:40:41
174 9216 37.4 2021-10-30 15:40:41

ich will nun diese tmp werte addieren,
zb. auf minutenbasis, wie am besten anstellen ?
 
Werbung:

Walter

Administrator
Teammitglied
Beiträge
420
Mit GROUP BY nach "Datumzeit" gruppieren, dabei mithilfe von Datumsfunktionen "Datumzeit" umwandeln in ein Datum ohne Sekunden. Kenne mich mich SqlLite nicht aus, d.h. die Datums-Funktionen musst Du Dir selber heraussuchen.
 

akretschmer

Datenbank-Guru
Beiträge
9.028
vielleicht so?

Code:
edb=*# select * from jblack ;
 id  | sensor | wert |         ts         
-----+--------+------+---------------------
 166 |   8761 | 21.0 | 2021-10-30 15:40:01
 167 |   8761 | 21.0 | 2021-10-30 15:40:01
 168 |   9216 | 37.4 | 2021-10-30 15:40:01
 170 |   1657 | 16.5 | 2021-10-30 15:40:39
 171 |   8761 | 22.0 | 2021-10-30 15:40:40
 172 |   8761 | 21.0 | 2021-10-30 15:40:41
 173 |   8761 | 21.0 | 2021-10-30 15:40:41
 174 |   9216 | 37.4 | 2021-10-30 15:40:41
(8 rows)

edb=*# select sum(wert), sensor, date_trunc('minute',ts) from jblack group by 2,3;
  sum  | sensor |     date_trunc     
-------+--------+---------------------
 106.0 |   8761 | 2021-10-30 15:40:00
  74.8 |   9216 | 2021-10-30 15:40:00
  16.5 |   1657 | 2021-10-30 15:40:00
(3 rows)

edb=*#
 
Werbung:
Oben