TDengine `count_window` 指定列计数功能用户手册
TDengine count_window
指定列计数功能用户手册
1. 功能简介
TDengine 新增 count_window
窗口支持指定数据列计数。用户可通过窗口语法,按某一时序数据列的非空值数量进行窗口划分,实现更灵活的数据分析。
2. 适用场景
- 批量查询
- 流计算
- 虚拟表
3. 语法说明
基本语法
count_window([col, ]count_val[, sliding_val])
col
:指定用于计数的时序数据列(不能为标签列),可选。count_val
:窗口大小,正整数,必须 ≥ 2。sliding_val
:窗口滑动步长,正整数,必须 ≥ 1 且 ≤ count_val,可选。
计数规则
- 仅统计指定列的非空值(NULL、NONE 不计数)。
- 窗口内实际数据条数(count(*))可能大于
count_val
,但指定列的计数(count(col))等于count_val
。
4. 使用示例
假设有如下数据表 tb
:
ts | v |
---|---|
2024-11-15 06:13:10.000 | 14.0601978 |
2024-11-15 06:14:10.000 | NULL |
2024-11-15 06:15:10.000 | 14.0601978 |
2024-11-15 06:16:10.000 | NULL |
2024-11-15 06:17:10.000 | 14.0601978 |
2024-11-15 06:19:10.000 | NULL |
2024-11-15 06:20:10.000 | 14.0601978 |
2024-11-15 06:21:10.000 | NULL |
2024-11-15 06:22:10.000 | 14.0601978 |
2024-11-15 06:23:10.000 | 14.0601978 |
查询窗口计数
SELECT _wstart, count(*), count(v) FROM tb COUNT_WINDOW(v, 3);
查询结果示例
_wstart | count(*) | count(v) |
---|---|---|
2024-11-15 06:13:10.000 | 5 | 3 |
2024-11-15 06:20:10.000 | 4 | 3 |
注意:窗口内实际数据条数(count(*))可能大于指定列计数(count(v)),但每个窗口都包含指定列的
count_val
个非空值。
5. 参数说明
col
:用于计数的时序数据列名,不能为标签列。count_val
:窗口大小,必须为正整数且 ≥ 2。sliding_val
:窗口滑动步长,必须为正整数且 ≥ 1 且 ≤ count_val。
6. 注意事项
- 企业版和社区版 TDengine 3.0 及以上版本支持。
- 指定列必须为时序数据列,不能为标签列。
- 空值(NULL、NONE)不参与计数。
关于 TDengine
TDengine 是一款专为物联网、工业互联网等场景设计并优化的大数据平台,其核心模块是高性能、集群开源、云原生、极简的时序数据库。
它能安全高效地将大量设备每天产生的高达 TB 甚至 PB 级的数据进行汇聚、存储、分析和分发,并提供 AI 智能体对数据进行预测与异常检测,提供实时的商业洞察。