理解一条语句:SELECT difference(sum(value)) FROM mq_enqueue WHERE channel =~ /ActiveMQ_TEST/ AND $tim...
最近使用grafana在查詢InfluxDB中,用到了這一條語句
SELECT difference(sum("value")) FROM "mq_enqueue" WHERE "channel" =~ /ActiveMQ_TEST/ AND $timeFilter GROUP BY time($interval)
這里把學習結果整理一遍:
difference()是influxdb內(nèi)置函數(shù),用于獲取相鄰數(shù)據(jù)之間的差值
sum()是influxdb內(nèi)置函數(shù),用于獲取所有數(shù)據(jù)之和,例如sum("value")即獲取field-key為value的對應的值的和
GROUP BY time($interval),指定一個時間間隔,劃定一個時間段,然后對該時間段內(nèi)的數(shù)據(jù)進行操作,$interval的值可以在grafana里指定,默認等于數(shù)據(jù)寫入的時間間隔
difference()支持嵌套函數(shù)
difference(sum("value"))表示先做sum再做difference
WHERE "channel" =~ /ActiveMQ_TEST/ ,influxdb查詢語句支持正則表達式
所以,整體的意思就是:
對于指定時間段內(nèi)的,channel的值包含ActiveMQ_TEST的字段為value的數(shù)據(jù)先進行sum求和,然后difference求差
?
轉載于:https://www.cnblogs.com/Peter2014/p/7797957.html
總結
以上是生活随笔為你收集整理的理解一条语句:SELECT difference(sum(value)) FROM mq_enqueue WHERE channel =~ /ActiveMQ_TEST/ AND $tim...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS 手机App消息推送功能(后台Ja
- 下一篇: VMWARE错误-VirtualInfr