blaubaerli hat geschrieben: ↑Mi Okt 28, 2020 7:54 pm
Sensej hat geschrieben: ↑Di Okt 27, 2020 10:52 pm
select max(*) from (Select sum(*) from "TS00018" WHERE time > now() - 2d GROUP BY time(1d) limit 2)
Aber wenn now() jetzt auf 19:45 des heutigen Tages steht, dann steht now()-2d folglich auf vorgestern 19:45. Damit hast du aber die Einträge von vorgestern 19:45 bis gestern 00:00 in der Treffermenge.
Danke für eure Hilfe.
Beste Grüße
Jens
Hallo Jens,
in der anderen Datenbank würde ich es anders machen aber mit der Influx-DB habe ich noch nie was zu tun gehabt und ich habe keinen direkten Weg gefunden sowas zu machen. Das Elabnet-Team hat bestimmt einen besseren Vorschlag.
Ich versuche meinen zu erklären
Weil ich keinen Weg gefunden habe Datensätze vom letzten Tag von 24:00 bis 24:00 zu selektieren, habe ich es so gelöst.
Zuerst selektiert man alle Datensätze für die letzten 48 Stunden.
Hier sind die Datensätze von 28.10.2020, 27.10.2020 und 26.10.2020 drin.
Die Tage 28.10.2020 und 26.10.2020 sind nicht vollzählig, aber 27.10.2020 schon.
Select * from "TS00018" WHERE time > now() - 2d
Jetzt machen wir Gruppierung pro Tag und kriegen insgesamt drei Datensätze mit der Summe raus
Select sum(*) from "TS00018" WHERE time > now() - 2d GROUP BY time(1d)
Aus der Gesamtmenge 2 selektieren wir den letzten -> Tipp von Sven
select last(*) from (Select sum(*) from "TS00018" WHERE time > now() - 2d GROUP BY time(1d) limit 2)
Vorschlag: Installiere in Grafana das Influx-Plugin. Da kannst die SQL-Befehle absetzen und sehen was genau raus kommt.
Zur Prüfung kannst du zuerst die Abfrage "Select * from "TS00018" WHERE time > now() - 2d " ausführen und alle Werte für den 27.10.2020 manuell addieren, falls nicht viele hast und dann prüfen, ob die SQL-Abfrage(select last(*) from (Select sum(*) from "TS00018" WHERE time > now() - 2d GROUP BY time(1d) limit 2)) den richtigen Wert rausspuckt.
MfG Juri