Kuonen SQL

Beispielkatalog

Jedes Beispiel ist zugleich ein Test: der Katalog läuft im Testlauf gegen einen echten Server und muss sein hinterlegtes Ergebnis liefern — was hier steht, ist genau das, was ausgeführt wird.

Abfragen

range und filter

Ein Flux-Skript ist eine Kette von Funktionen: from wählt den Bucket, range die Zeit, filter die Zeilen. Jede Serie ist eine Tabelle der Antwort.

USE pruefstand
INSERT flux_wetter,ort=Bern temperatur=12.5 1735689600000000000
INSERT flux_wetter,ort=Zuerich temperatur=10 1735689600000000000
from(bucket: "pruefstand")
  |> range(start: 2025-01-01T00:00:00Z, stop: 2025-01-02T00:00:00Z)
  |> filter(fn: (r) => r._measurement == "flux_wetter" and r._field == "temperatur")
  |> keep(columns: ["_time", "_value", "ort"])
Erwartetes Ergebnis
_time | _value | ort
2025-01-01T00:00:00Z | 12.5 | Bern
2025-01-01T00:00:00Z | 10 | Zuerich

Aggregation

Mittelwert über die Zeit

mean fasst jede Tabelle (jede Serie) zu einer Zeile zusammen.

USE pruefstand
INSERT flux_mittel,ort=Bern temperatur=10 1735689600000000000
INSERT flux_mittel,ort=Bern temperatur=14 1735693200000000000
from(bucket: "pruefstand")
  |> range(start: 2025-01-01T00:00:00Z, stop: 2025-01-02T00:00:00Z)
  |> filter(fn: (r) => r._measurement == "flux_mittel")
  |> mean()
  |> keep(columns: ["_value", "ort"])
Erwartetes Ergebnis
_value | ort
12 | Bern