SELECT Befehl um Zeilen gleichen Datums aus einer Tabelle zu filtern. (FHEM-Datenbank )

andreasn

Neuer Benutzer
Beiträge
2
Hallo
FHEM (Homeautomatisierung) legt alle Daten in einer Tabelle ab.

DEVICE // TIMESTAMP // TYPE // EVENT // READING // VALUE // UNIT
em_EVU // 2020-04-06 00:01:47 // EVU // EVUEnergyDayLast // 0.575 // kWh
em_Solar // 2020-04-05 00:00:20 // Solar // SolarEnergyDayLast // 11.087 // kWh
em_EVU // 2020-04-05 00:01:53 // EVU // EVUEnergyDayLast // 5.665 // kWh
em_EVU // 2020-04-04 00:00:49 // EVU // EVUEnergyDayLast // 10.260 // kWh
em_Solar // 2020-04-04 00:01:39 // Solar // SolarEnergyDayLast // 6.195 // kWh
... usw

Nun möchte ich Solar und EVU gegenüberstellen und in einer Tabelle für jeden Tag darstellen.
Suche also nach einem Ergebnis wie folgt:
TIMESTAMP // VALUE_SOLAR // [URL='http://nahrup.de/phpMyAdmin/sql.php']VALUE_EVU[/URL]
2020-04-06 // --- // 0.575
2020-04-05 // 11.087 // 5.665
2020-04-04 // 6.195 // 10.260
... usw

Ist so was überhaupt mit MariaDB möglich? Und wenn ja hat jemand eine Idee?
 
Werbung:
Ob mit MySQL/Maria bin ich mir nicht sicher, mit SQL aber ja. In etwa:

select day, sum(value) filter (where event = 'solar') as solar, sum(value) filter (where event = 'evu') as evu from ... group by day order by day

für day halt eine passende Funktion, um aus dem Timestamp das Datum zu bekommen. FILTER (...) ist natürlich eine so coole Sache, daß MySQL/Maria das wohl nicht kann. Dann mal mit case when ... versuchen umzuschreiben.

Viel Erfolg!
 
Werbung:
Zurück
Oben