Query-Performance
InfluxDB:從不同的標籤中選擇 last() 值
我有一個包含幾個感測器的原始數據的桶,比如溫度、氣壓等。感測器不會同時發送它們的數據,這意味著給定的時間戳可能有來自不同感測器的多個數據點,或者只是從一個。
每個讀數都標有它來自的感測器的 ID。我需要從給定數量的 ID 中獲取 Last() 讀數。當我嘗試這段程式碼時:
select last(Temperature) from raw_measure where ID =~ /4372502|4399699|4406512|4407840/
它不是返回每個 ID 的最後一個溫度觀測值,而是返回整個組的最新溫度時間戳。
如何在單個查詢中獲取每個 ID 的最後讀數?
我找到了解決方案。您需要做的就是在 TAG 欄位中添加一個 ORDER BY。所以最終查詢變為:
SELECT last(Temperature) FROM raw_measure where ID =~ /4372502|4399699|4406512|4407840/ ORDER BY ID