influxdb group by(1d) 查询注意事项
转载请注明出处:
在 InfluxDB 中,默认的时区是 UTC(协调世界时)。所有的时间戳在数据写入时默认视为 UTC。这意味着如果没有在插入数据时指定其他时区,InfluxDB 会将所有时间数据处理为 UTC 时间。
最近在使用 group by(1d) 进行数据汇总查询得时候,本应是北京时间一天得数据却查出了两天的数据:
> SELECT sum(rx_megabits_per_second) as in_traffic, sum(tx_megabits_per_second) as out_traffic FROM monitor.autogen.vpn_traffic_5m WHERE time >= '2024-12-12T16:00:00Z' and time <= '2024-12-13T02:39:54Z' and vpn_id='l3_3023' group by time(1d), site_id, site_name FILL(0)
name: vpn_traffic_5m
tags: site_id=dae31a81-9336-4a76-838e-878144143bcd, site_name=ZTE
time in_traffic out_traffic
---- ---------- -----------
1733961600000000000 0.0007709866666666677 0.011690879999999997
1734048000000000000 0.0002471466666666666 0.003948480000000001
>
group by(1d)会根据时间戳将每个数据点分配到它所属的那一天(基于 UTC 时间)。由于时间范围是从一天的北京0点到当天的早晨10点,因此 InfluxDB 会创建两个UTC时间组:一个是从12月12日下午4点开始到12月12日24点之前的所有数据,另一个是从12月13日0点开始到早晨的2点的数据(如果有的话)。
由于时间范围跨越了午夜,并且使用了 GROUP BY time(1d)
,因此 InfluxDB 会自动根据日期边界(午夜)来分割数据。
而我们想要查询的时间应该是使用东八区时间(比零时区时间快了8个小时)。在查询数据时,可以通过使用 time
函数将结果转换为其他时区。例如,可以使用 tz
选项以指定将 SELECT
的时间戳转换为指定的时区。 例如:
SELECT * FROM measurement_name WHERE time >= '2024-12-01T00:00:00Z' AND time <= '2024-12-31T23:59:59Z' tz('Asia/Shanghai')
在这个示例中,查询结果的时间戳将转换为
Asia/Shanghai
时区。
在实际应用的过程中,如下:
> SELECT sum(rx_megabits_per_second) as in_traffic, sum(tx_megabits_per_second) as out_traffic FROM monitor.autogen.vpn_traffic_5m WHERE time >= '2024-12-12T16:00:00Z' and time <= '2024-12-13T02:39:54Z' and vpn_id='l3_3023' group by time(1d), site_id, site_name FILL(0) tz('Asia/Shanghai')
name: vpn_traffic_5m
tags: site_id=dae31a81-9336-4a76-838e-878144143bcd, site_name=ZTE
time in_traffic out_traffic
---- ---------- -----------
1734019200000000000 0.001018133333333335 0.01563936
>
influxdb group by(1d) 查询注意事项的更多相关文章
- InfluxDB学习之InfluxDB的HTTP API查询操作
在 InfluxDB学习 的上一篇文章:InfluxDB学习之InfluxDB的HTTP API写入操作 中,我们介绍了使用InfluxDB的HTTP API进行数据写入操作的过程,本文我们再来介绍下 ...
- 【mybatis】【mysql】mybatis查询mysql,group by分组查询报错:Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column
mybatis查询mysql,group by分组查询报错:Expression #1 of SELECT list is not in GROUP BY clause and contains no ...
- mysql group by分组查询
分组的SQL语句有2个: group by 和分组聚合函数实现 partition by (oracle和postgreSQL中的语句)功能 group by + having 组合赛选数据 注意:h ...
- mysql group by分组查询后 查询个数
mysql group by分组查询后 查询个数2个方法随便你选 <pre>select count(distinct colA) from table1;</pre>< ...
- group by分组查询
有如下数据: 一个简单的分组查询的案例 按照部门编号deptno分组,统计每个部门的平均工资. select deptno,avg(sal) avgs from emp group by deptno ...
- Group by 分组查询 实战
实战经历,由于本人在共享单车上班,我们的单车管理模块,可以根据单车号查询单车,但是单车号没有设置unique(独一无二约束),说以这就增加了单车号可能重复的风险,但是一般情况下,单车号是不会重复的,因 ...
- C#代码 利用MongoDB中Group聚合函数查询
例子: public static void getUserRFM(DateTime beginTime, DateTime endTime) { MongoDat ...
- C#代码利用MongoDB中Group聚合函数查询
例子: public static void getUserRFM(DateTime beginTime, DateTime endTime) { MongoDat ...
- SQL group by分组查询(转)
本文导读:在实际SQL应用中,经常需要进行分组聚合,即将查询对象按一定条件分组,然后对每一个组进行聚合分析.创建分组是通过GROUP BY子句实现的.与WHERE子句不同,GROUP BY子句用于归纳 ...
- mysql数据库分组(GROUP BY)查询实例
1.使用松散(Loose)索引扫描实现 GROUP BY 何谓松散索引扫描实现 GROUP BY 呢?实际上就是当 MySQL 完全利用索引扫描来实现 GROUP BY 的时候,并不需要扫描所有满足条 ...
随机推荐
- c语言 宏的一些深层应用(##,#,宏函数)
"##" 宏拼接 #define CONCATENATE(a, b) a ## b CONCATENATE(student_, 1) // 将a和b拼接起来变成一个新的变量 -&g ...
- Flutter 3.3 正式发布
Flutter 3 是我们正式为全平台提供支持的一个重量级里程碑,距离它的发布仅过去了三个月,今天让我们有请 Flutter 3.3 正式版!近三个月我们并没有放慢更新迭代的速度--自 Flutter ...
- SXYZ-6.26模拟赛
没有爆零,足矣. 发现绍兴一中机房的一个特点:键盘打得贼响!! T1 ctrl 啃臭键在哪里 (中文名我都不好意思大打) 第一遍测T1一分都没得啊! 这跟题目描述自相矛盾有关,导致我只是轻微考虑了一下 ...
- 冒泡排序和一点优化(php)
function maopao($arr){ $len = count($arr);//获取数组的长度 //有多少个数组元素就最多就要排n-1次 for ($j=0;$j<$len-1;$j++ ...
- Android中VSYNC代表什么
在 Android 中,VSYNC(Vertical Synchronization)是一个垂直同步信号,用于协调显示刷新和绘图操作.VSYNC 信号的主要作用是控制屏幕刷新频率与图形渲染的同步,以确 ...
- 什么是SPA页面,它的优缺点?
什么是SPA spa是单页面应用(single page web application),浏览器会一开始就加载所需要的html.css.javascript.一旦页面加载完毕,整个页面就不会因为用户 ...
- SIGIR2024| RAREMed: 不放弃任何一个患者——提高对罕见病患者的药物推荐准确性
SIGIR2024| RAREMed: 不放弃任何一个患者--提高对罕见病患者的药物推荐准确性 TLDR:在本文中,我们针对药物推荐模型对罕见病患者推荐精度低的问题,提出了一种新的基于预训练-微调的药 ...
- Android复习(二)应用资源——>字体
字体资源定义了可在应用中使用的自定义字体.字体可以是单独的字体文件或字体文件的集合,称为字体系列,并在 XML 中定义. 另请参阅如何定义 XML 中的字体,或改用可下载字体. 捆绑式字体 您可以将字 ...
- 关于使用plsql操作oracle的一点小技巧和几个常用的查询语句
plsql是什么: 就是这个,专门操作oracle的一个工具,好用还免费. 创建一个测试表: create table Student( Id number not null, Name varcha ...
- Cartographer的扫描匹配
cartographer 代码思想解读(1)- 相关匹配 cartographer在2016年开源后一直在使用,但是一直未仔细阅读并分析其核心代码结构.目前网上可以找到许多博主对其分析和理解.其car ...