File tree 2 files changed +14
-2
lines changed
2 files changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -25,13 +25,13 @@ CREATE TABLE sensor_info (
25
25
with (ttl= ' 10d' );
26
26
```
27
27
28
- 假设数据采集频率为 ` 1Hz ` ,在数据展示时我们希望查询 ` sn = 1 ` 并且以 1分钟 的区间对数据进行聚合(获取一分钟以内 temperature 的平均值 ),则可使用时间函数对数据进行切割、云计算 。SQL 语句如下:
28
+ 假设数据采集频率为 ` 1Hz ` ,在数据展示时我们希望查询 ` sn = 1 ` 并且以 1分钟 的区间对数据进行聚合(获取一分钟以内 temperature 的平均值 ),则可使用时间函数对数据进行切割与计算 。SQL 语句如下:
29
29
30
30
``` sql
31
31
SELECT date_bin(' 1 minutes' , ts) as timepoint, avg (temperature) as temp from sensor_info where sn = 1 group by timepoint;
32
32
```
33
33
34
- 假设数据采集频率为 ` 1Hz ` ,在数据展示时我们希望查询 ` sn = 1 ` 并且以 1天 的区间对数据进行聚合(获取一天以内 temperature 的最大值 ),则可使用时间函数对数据进行切割、云计算 。SQL 语句如下:
34
+ 假设数据采集频率为 ` 1Hz ` ,在数据展示时我们希望查询 ` sn = 1 ` 并且以 1天 的区间对数据进行聚合(获取一天以内 temperature 的最大值 ),则可使用时间函数对数据进行切割与计算 。SQL 语句如下:
35
35
36
36
``` sql
37
37
SELECT date_bin(' 1 day' , ts) as timepoint, max (temperature) as temp from sensor_info where sn = 1 group by timepoint;
Original file line number Diff line number Diff line change @@ -100,6 +100,18 @@ GROUP BY window
100
100
101
101
特别注意,如果 SQL 语句中包含时间戳列之外的分组列,那么插值会针对每个分组单独执行。这是考虑到不同分组的数据可能没有显著的关联,如果允许跨分组插值,可能得到异常点(Outlier)。
102
102
103
+ ## date_bin、date_bin_gapfill 函数的起始时间
104
+
105
+ 默认情况下,` date_bin ` 和 ` date_bin_gapfill ` 的起始时间对齐参数 ` origin ` 是 UTC 时区的 1970-01-01T00:00:00(Unix Epoch)。因此,如果函数中未显式指定 ` origin ` ,窗口会从 UTC 时间的 0 点 开始对齐,而非本地时区的 0 点。
106
+
107
+ 若数据时间戳为 2024-01-16T10:40:00+08:00(东八区),` date_bin('1 day', time) ` 会将其对齐到 UTC 的 0 点(即东八区的早上 8 点),而非东八区本地 0 点。
108
+ 若需从北京时间 0 点对齐,需显式指定 ` origin ` 如下:
109
+
110
+ ``` sql
111
+ date_bin(' 1 day' , time , ' 2024-01-01T00:00:00+08:00' )
112
+ ```
113
+
114
+
103
115
## 其他注意事项
104
116
105
117
- ` date_bin_gapfill ` 只能作为投影列,且必须作为分组列。
You can’t perform that action at this time.
0 commit comments