InfluxDB的存储格式都是UTC时间,所以呢,查询出来的结果会跟咱们东八区差8小时。在CQ中如果出现了按照天(及以上单位)查询的时候最终的聚合时间是UTC的0点,这个时候如果继续使用UTC时间是没问题的,但是一旦前端按照东八区显示就会每天差了8小时的值。
以一天为例
CQ的逻辑是从0点往前找24个小时,将这24个小时的时间聚合在一起,然后把时间设置为24小时之前的那个0点。最终的结果就是昨天的0点有一个值。描述起来有些绕,自己动手画个数轴就知道了。
如下CQ:
CREATE CONTINUOUS QUERY cq_day_scan ON mydb BEGIN SELECT sum(amount) AS amount INTO mydb.autogen.day_scan FROM mydb.rp_90d.scan GROUP BY *, time(1d) EN