每天查詢InfluxDB特定時間的最佳方法是什麼,例如,我有一個系列有checkin/checkout活動,我需要在每小時2PM至3PM之間查看我知道在查詢語言中沒有直接的方法 - 當前版本1.2-不確定是否有解決方法或者其他什麼?每天查詢特定小時的InfluxDB
2
A
回答
4
我一直在尋找相同的,發現你的問題。正如你所說,語法似乎不允許這樣做。
我最近的嘗試是試圖使用一個正則表達式的時間WHERE clausule,目前不支持InfluxDB。
所以這應該可能是答案,我不會發表一個答案,只是說。
但是,在不同的問題上工作,我發現一種方式,可能或不會幫助你在你的具體情況。這是一個解決方法這是不是很好,但它似乎工作的情況下,你可以制定一個聚合/選擇你想看到在給定的小時,以便最終有一個值每個小時。例如,(對於某個給定人員,在該小時內的checkin-checkout的平均值/最大值/計數值,這可能是您正在查找的內容,或者您可能用於確定您希望他們單獨查詢以查看的日期那裏發生了什麼)。
例如,我想從上午的00:00到06:00獲得耗電量的測量值。我將第一個子查詢從給定日期的00:00開始將測量組分爲6小時。然後在主查詢中,我按24小時分組,並選擇第一個值。像這樣
SELECT first("mean") FROM (SELECT mean("value") FROM "Energy" WHERE "devicename" = 'Electricity' AND "deviceid" = '0_5' AND time > '2017-01-01' GROUP BY time(6h)) WHERE time > '2017-01-01' GROUP BY time(24h)
如果你想2-4點,所以14:00-16:00,您需要先將2小時子查詢,然後通過offseting的14H設置,以便它開始於14 :00。
SELECT first("mean") FROM (SELECT mean("value") FROM "Energy" WHERE "devicename" = 'Electricity' AND "deviceid" = '0_5' AND time > '2017-01-01T14:00:00Z' GROUP BY time(2h)) WHERE time > '2017-01-01T14:00:00Z' GROUP BY time(24h,14h)
只是爲了檢查它。在我的1.2 InfluxDB這是最終的結果:
Energy
time first
2017-01-01T14:00:00Z 86.41747572815534
2017-01-02T14:00:00Z 43.49722222222222
2017-01-03T14:00:00Z 81.05416666666666
子查詢返回:
Energy
time mean
2017-01-01T14:00:00Z 86.41747572815534
2017-01-01T16:00:00Z 91.46879334257974
2017-01-01T18:00:00Z 89.14027777777778
2017-01-01T20:00:00Z 94.47434119278779
2017-01-01T22:00:00Z 89.94305555555556
2017-01-02T00:00:00Z 86.29542302357837
2017-01-02T02:00:00Z 92.2625
2017-01-02T04:00:00Z 89.93619972260748
2017-01-02T06:00:00Z 87.78888888888889
2017-01-02T08:00:00Z 50.790277777777774
2017-01-02T10:00:00Z 0.6597222222222222
2017-01-02T12:00:00Z 0.10957004160887657
2017-01-02T14:00:00Z 43.49722222222222
2017-01-02T16:00:00Z 86.0610263522885
2017-01-02T18:00:00Z 86.59778085991678
2017-01-02T20:00:00Z 91.56527777777778
2017-01-02T22:00:00Z 90.52565880721221
2017-01-03T00:00:00Z 86.79166666666667
2017-01-03T02:00:00Z 87.15533980582525
2017-01-03T04:00:00Z 89.47988904299584
2017-01-03T06:00:00Z 91.58888888888889
2017-01-03T08:00:00Z 41.67732962447844
2017-01-03T10:00:00Z 16.216366158113733
2017-01-03T12:00:00Z 25.27739251040222
2017-01-03T14:00:00Z 81.05416666666666
如果您需要13:00-15:00,你需要以抵消子查詢前面例子中到1小時。
爲14:00-15:00:
SELECT first("mean") FROM (SELECT mean("value") FROM "Energy" WHERE "devicename" = 'Electricity' AND "deviceid" = '0_5' AND time > '2017-01-01T14:00:00Z' GROUP BY time(1h)) WHERE time > '2017-01-01T14:00:00Z' GROUP BY time(24h,14h)
希望這有助於:)
相關問題
- 1. SQL查詢每天每小時
- 2. 在每天的特定小時
- 3. 在特定月份每天登錄的MySQL查詢用戶
- 4. InfluxDB查詢錯誤
- 5. 可能使SQL查詢計算一天中的每個小時?
- 6. 每小時查詢MYSQL
- 7. SQL查詢一天中的幾小時
- 8. 運行的cronjob特定小時/天
- 9. 每天消防UILocalNotification,但每天在特定時間
- 10. 每天在特定GMT時間執行函數每天
- 11. 每天從特定小時獲取記錄在sql server中
- 12. 非特定時間每天一次crontab?
- 13. 由特定天asp.net c查詢#
- 14. SQL Server - 按小時查詢多天
- 15. http錯誤500每天只在當天的特定時間
- 16. cronntab每小時和特定時間
- 17. Fullcalendar每天24 + 7小時
- 18. 單個SQL Server查詢由每小時獲得的總比分,每天,每週,每月和每年的
- 19. 比特率和時間influxdb
- 20. 檢查特定小時
- 21. Oracle每天每分鐘查詢
- 22. R-NA每小時時間序列的特定小時數
- 23. 每天和每半小時重複UNNotifications
- 24. SQL查詢每小時報告?
- 25. 每小時執行一次SQL查詢
- 26. mysql每小時查詢平均值
- 27. 同一小時內每小時平均的SQL查詢
- 28. 獲取每年的特定時期MDX查詢
- 29. 時間序列每秒鐘,每小時,每天的請求
- 30. MySQL確定系統每小時查詢的用戶數
我不能這樣用骨料,我有不同的情況,但我給+1因爲它可能會幫助別人;) –