1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

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

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von andreasn, 6 April 2020.

  1. andreasn

    andreasn Neuer Benutzer

    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 // VALUE_EVU
    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?
     
  2. akretschmer

    akretschmer Datenbank-Guru

    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!
     
  3. andreasn

    andreasn Neuer Benutzer

    Danke für die Antwort .. Geniale Konstruktion.
    Ja es hat so funktioniert.
     
    akretschmer gefällt das.
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden