申请网站域名要多少钱,163 邮箱,互联网服务,青岛seo百科以下内容来自 TDengine 官方文档 及 GitHub 内容 。 以下所有示例基于 TDengine 3.1.0.3 TDengine函数大全
1.数学函数 2.字符串函数 3.转换函数 4.时间和日期函数 5.聚合函数 6.选择函数 7.时序数据库特有函数 8.系统函数 时序库特有函数 TDengine函数大全CSUMDERIVATIVEDIFF… 以下内容来自 TDengine 官方文档 及 GitHub 内容 。 以下所有示例基于 TDengine 3.1.0.3 TDengine函数大全
1.数学函数 2.字符串函数 3.转换函数 4.时间和日期函数 5.聚合函数 6.选择函数 7.时序数据库特有函数 8.系统函数 时序库特有函数 TDengine函数大全CSUMDERIVATIVEDIFFIRATEMAVGSTATECOUNTSTATEDURATIONTWA CSUM
CSUM(expr)功能说明累加和Cumulative sum输出行与输入行数相同。
返回结果类型 输入列如果是整数类型返回值为长整型 int64_t浮点数返回值为双精度浮点数Double。无符号整数类型返回值为无符号长整型uint64_t。
适用数据类型数值类型。
嵌套子查询支持 适用于内层查询和外层查询。
适用于表和超级表。
使用说明
不支持 、-、*、/ 运算如 csum(col1) csum(col2)。只能与聚合Aggregation函数一起使用。 该函数可以应用在普通表和超级表上。
示例: select ts,v1 from t7;ts | v1 |
2023-08-01 01:01:00.000 | NULL |2023-08-01 01:01:01.000 | 1 |2023-08-01 01:01:02.000 | 2 |2023-08-01 01:01:03.000 | 3 |2023-08-01 01:01:04.000 | 4 |2023-08-01 01:01:05.000 | 5 |2023-08-01 01:01:06.000 | 6 |2023-08-01 01:01:07.000 | 7 |2023-08-01 01:01:08.000 | 8 |2023-08-01 01:01:09.000 | 9 |2023-08-01 01:01:10.000 | 10 |2023-08-01 01:01:11.000 | NULL |2023-08-01 01:01:12.000 | 10 | select csum(v1) from t7;csum(v1) |
1 |3 |6 |10 |15 |21 |28 |36 |45 |55 |65 | select ts,csum(v1) from t7;ts | csum(v1) |
2023-08-01 01:01:01.000 | 1 |2023-08-01 01:01:02.000 | 3 |2023-08-01 01:01:03.000 | 6 |2023-08-01 01:01:04.000 | 10 |2023-08-01 01:01:05.000 | 15 |2023-08-01 01:01:06.000 | 21 |2023-08-01 01:01:07.000 | 28 |2023-08-01 01:01:08.000 | 36 |2023-08-01 01:01:09.000 | 45 |2023-08-01 01:01:10.000 | 55 |2023-08-01 01:01:12.000 | 65 |DERIVATIVE
DERIVATIVE(expr, time_interval, ignore_negative)ignore_negative: {0| 1
}功能说明统计表中某列数值的单位变化率。其中单位时间区间的长度可以通过 time_interval 参数指定最小可以是 1 秒1signore_negative 参数的值可以是 0 或 1为 1 时表示忽略负值。
返回数据类型DOUBLE。
适用数据类型数值类型。
适用于表和超级表。
使用说明:
可以与选择相关联的列一起使用。 例如: select _rowts, DERIVATIVE() from。
示例: select ts,v1 from t7;ts | v1 |
2023-08-01 01:01:00.000 | NULL |2023-08-01 01:01:01.000 | 1 |2023-08-01 01:01:02.000 | 2 |2023-08-01 01:01:03.000 | 3 |2023-08-01 01:01:04.000 | 4 |2023-08-01 01:01:05.000 | 5 |2023-08-01 01:01:06.000 | 6 |2023-08-01 01:01:07.000 | 7 |2023-08-01 01:01:08.000 | 8 |2023-08-01 01:01:09.000 | 9 |2023-08-01 01:01:10.000 | 10 |2023-08-01 01:01:11.000 | NULL |2023-08-01 01:01:12.000 | 10 |2023-08-01 01:01:13.000 | -2 |
Query OK, 14 row(s) in set (0.001077s)taos select _rowts,derivative(v1,1s,0) from t7;_rowts | derivative(v1,1s,0) |
2023-08-01 01:01:02.000 | 1.000000000000000 |2023-08-01 01:01:03.000 | 1.000000000000000 |2023-08-01 01:01:04.000 | 1.000000000000000 |2023-08-01 01:01:05.000 | 1.000000000000000 |2023-08-01 01:01:06.000 | 1.000000000000000 |2023-08-01 01:01:07.000 | 1.000000000000000 |2023-08-01 01:01:08.000 | 1.000000000000000 |2023-08-01 01:01:09.000 | 1.000000000000000 |2023-08-01 01:01:10.000 | 1.000000000000000 |2023-08-01 01:01:12.000 | 0.000000000000000 |2023-08-01 01:01:13.000 | -12.000000000000000 |
Query OK, 11 row(s) in set (0.001550s)taos select _rowts,derivative(v1,1s,1) from t7;_rowts | derivative(v1,1s,1) |
2023-08-01 01:01:02.000 | 1.000000000000000 |2023-08-01 01:01:03.000 | 1.000000000000000 |2023-08-01 01:01:04.000 | 1.000000000000000 |2023-08-01 01:01:05.000 | 1.000000000000000 |2023-08-01 01:01:06.000 | 1.000000000000000 |2023-08-01 01:01:07.000 | 1.000000000000000 |2023-08-01 01:01:08.000 | 1.000000000000000 |2023-08-01 01:01:09.000 | 1.000000000000000 |2023-08-01 01:01:10.000 | 1.000000000000000 |2023-08-01 01:01:12.000 | 0.000000000000000 |
DIFF
DIFF(expr [, ignore_negative])ignore_negative: {0| 1
}功能说明统计表中某列的值与前一行对应值的差。 ignore_negative 取值为 0|1 , 可以不填默认值为 0. 不忽略负值。ignore_negative 为 1 时表示忽略负数。
返回数据类型同应用字段。
适用数据类型数值类型。
适用于表和超级表。
使用说明:
输出结果行数是范围内总行数减一第一行没有结果输出。可以与选择相关联的列一起使用。 例如: select _rowts, DIFF() from。
示例: select ts,v1 from t7;ts | v1 |
2023-08-01 01:01:00.000 | NULL |2023-08-01 01:01:01.000 | 1 |2023-08-01 01:01:02.000 | 2 |2023-08-01 01:01:03.000 | 3 |2023-08-01 01:01:04.000 | 4 |2023-08-01 01:01:05.000 | 5 |2023-08-01 01:01:06.000 | 6 |2023-08-01 01:01:07.000 | 7 |2023-08-01 01:01:08.000 | 8 |2023-08-01 01:01:09.000 | 9 |2023-08-01 01:01:10.000 | 10 |2023-08-01 01:01:11.000 | NULL |2023-08-01 01:01:12.000 | 10 |2023-08-01 01:01:13.000 | -2 | select _rowts,diff(v1) from t7;_rowts | diff(v1) |
1970-01-01 08:00:00.000 | NULL |2023-08-01 01:01:02.000 | 1 |2023-08-01 01:01:03.000 | 1 |2023-08-01 01:01:04.000 | 1 |2023-08-01 01:01:05.000 | 1 |2023-08-01 01:01:06.000 | 1 |2023-08-01 01:01:07.000 | 1 |2023-08-01 01:01:08.000 | 1 |2023-08-01 01:01:09.000 | 1 |2023-08-01 01:01:10.000 | 1 |1970-01-01 08:00:00.000 | NULL |2023-08-01 01:01:12.000 | 0 |2023-08-01 01:01:13.000 | -12 | select _rowts,diff(v1,0) from t7;_rowts | diff(v1,0) |
6426-05-31 11:01:03.576 | NULL |2023-08-01 01:01:02.000 | 1 |2023-08-01 01:01:03.000 | 1 |2023-08-01 01:01:04.000 | 1 |2023-08-01 01:01:05.000 | 1 |2023-08-01 01:01:06.000 | 1 |2023-08-01 01:01:07.000 | 1 |2023-08-01 01:01:08.000 | 1 |2023-08-01 01:01:09.000 | 1 |2023-08-01 01:01:10.000 | 1 |2023-08-01 01:01:10.000 | NULL |2023-08-01 01:01:12.000 | 0 |2023-08-01 01:01:13.000 | -12 | select _rowts,diff(v1,1) from t7;_rowts | diff(v1,1) |
1970-01-01 08:00:00.000 | NULL |2023-08-01 01:01:02.000 | 1 |2023-08-01 01:01:03.000 | 1 |2023-08-01 01:01:04.000 | 1 |2023-08-01 01:01:05.000 | 1 |2023-08-01 01:01:06.000 | 1 |2023-08-01 01:01:07.000 | 1 |2023-08-01 01:01:08.000 | 1 |2023-08-01 01:01:09.000 | 1 |2023-08-01 01:01:10.000 | 1 |1970-01-01 08:00:00.000 | NULL |2023-08-01 01:01:12.000 | 0 |2023-08-01 01:01:13.000 | NULL |IRATE
IRATE(expr)功能说明计算瞬时增长率。使用时间区间中最后两个样本数据来计算瞬时增长速率如果这两个值呈递减关系那么只取最后一个数用于计算而不是使用二者差值。
返回数据类型DOUBLE。
适用数据类型数值类型。
适用于表和超级表。
示例: select ts,v1 from t7;ts | v1 |
2023-08-01 01:01:00.000 | NULL |2023-08-01 01:01:01.000 | 1 |2023-08-01 01:01:02.000 | 2 |2023-08-01 01:01:03.000 | 3 |2023-08-01 01:01:04.000 | 4 |2023-08-01 01:01:05.000 | 5 |2023-08-01 01:01:06.000 | 6 |2023-08-01 01:01:07.000 | 7 |2023-08-01 01:01:08.000 | 8 |2023-08-01 01:01:09.000 | 9 |2023-08-01 01:01:10.000 | 10 |2023-08-01 01:01:11.000 | NULL |2023-08-01 01:01:12.000 | 10 |2023-08-01 01:01:13.000 | -2 | select irate(v1) from t7 where ts2023-08-01 01:01:10.000 and ts2023-08-01 01:01:12.000;irate(v1) |
0.000000000000000 | select irate(v1) from t7 where ts2023-08-01 01:01:01.000 and ts2023-08-01 01:01:04.000;irate(v1) |
1.000000000000000 | select _wstart,irate(v1) from t7 interval(2s);_wstart | irate(v1) |
2023-08-01 01:01:00.000 | 0.000000000000000 |2023-08-01 01:01:02.000 | 1.000000000000000 |2023-08-01 01:01:04.000 | 1.000000000000000 |2023-08-01 01:01:06.000 | 1.000000000000000 |2023-08-01 01:01:08.000 | 1.000000000000000 |2023-08-01 01:01:10.000 | 0.000000000000000 |2023-08-01 01:01:12.000 | -2.000000000000000 |MAVG
MAVG(expr, k)功能说明 计算连续 k 个值的移动平均数moving average。如果输入行数小于 k则无结果输出。参数 k 的合法输入范围是 1≤ k ≤ 1000。
返回结果类型 DOUBLE。
适用数据类型 数值类型。
嵌套子查询支持 适用于内层查询和外层查询。
适用于表和超级表。
使用说明
不支持 、-、*、/ 运算如 mavg(col1, k1) mavg(col2, k1);只能与普通列选择Selection、投影Projection函数一起使用不能与聚合Aggregation函数一起使用
示例: select ts,v1 from t7;ts | v1 |
2023-08-01 01:01:00.000 | NULL |2023-08-01 01:01:01.000 | 1 |2023-08-01 01:01:02.000 | 2 |2023-08-01 01:01:03.000 | 3 |2023-08-01 01:01:04.000 | 4 |2023-08-01 01:01:05.000 | 5 |2023-08-01 01:01:06.000 | 6 |2023-08-01 01:01:07.000 | 7 |2023-08-01 01:01:08.000 | 8 |2023-08-01 01:01:09.000 | 9 |2023-08-01 01:01:10.000 | 10 |2023-08-01 01:01:11.000 | NULL |2023-08-01 01:01:12.000 | 10 |2023-08-01 01:01:13.000 | -2 | select ts,mavg(v1,2) from t7;ts | mavg(v1,2) |
2023-08-01 01:01:02.000 | 1.500000000000000 |2023-08-01 01:01:03.000 | 2.500000000000000 |2023-08-01 01:01:04.000 | 3.500000000000000 |2023-08-01 01:01:05.000 | 4.500000000000000 |2023-08-01 01:01:06.000 | 5.500000000000000 |2023-08-01 01:01:07.000 | 6.500000000000000 |2023-08-01 01:01:08.000 | 7.500000000000000 |2023-08-01 01:01:09.000 | 8.500000000000000 |2023-08-01 01:01:10.000 | 9.500000000000000 |2023-08-01 01:01:12.000 | 10.000000000000000 |2023-08-01 01:01:13.000 | 4.000000000000000 | select ts,mavg(v1,4) from t7;ts | mavg(v1,4) |
2023-08-01 01:01:04.000 | 2.500000000000000 |2023-08-01 01:01:05.000 | 3.500000000000000 |2023-08-01 01:01:06.000 | 4.500000000000000 |2023-08-01 01:01:07.000 | 5.500000000000000 |2023-08-01 01:01:08.000 | 6.500000000000000 |2023-08-01 01:01:09.000 | 7.500000000000000 |2023-08-01 01:01:10.000 | 8.500000000000000 |2023-08-01 01:01:12.000 | 9.250000000000000 |2023-08-01 01:01:13.000 | 6.750000000000000 |STATECOUNT
STATECOUNT(expr, oper, val)功能说明返回满足某个条件的连续记录的个数结果作为新的一列追加在每行后面。条件根据参数计算如果条件为 true 则加 1条件为 false 则重置为-1如果数据为 NULL跳过该条数据。
参数范围
oper : “LT” (小于)、“GT”大于、“LE”小于等于、“GE”大于等于、“NE”不等于、“EQ”等于不区分大小写。val : 数值型
返回结果类型INTEGER。
适用数据类型数值类型。
嵌套子查询支持不支持应用在子查询上。
适用于表和超级表。
使用说明
不能和窗口操作一起使用例如 interval/state_window/session_window。
示例: select ts,v1 from t7;ts | v1 |
2023-08-01 01:01:00.000 | NULL |2023-08-01 01:01:01.000 | 1 |2023-08-01 01:01:02.000 | 2 |2023-08-01 01:01:03.000 | 3 |2023-08-01 01:01:04.000 | 4 |2023-08-01 01:01:05.000 | 5 |2023-08-01 01:01:06.000 | 6 |2023-08-01 01:01:07.000 | 7 |2023-08-01 01:01:08.000 | 8 |2023-08-01 01:01:09.000 | 9 |2023-08-01 01:01:10.000 | 10 |2023-08-01 01:01:11.000 | NULL |2023-08-01 01:01:12.000 | 10 |2023-08-01 01:01:13.000 | -2 | select ts,statecount(v1,GT,5) from t7;ts | statecount(v1,GT,5) |
2023-08-01 01:01:00.000 | NULL |2023-08-01 01:01:01.000 | -1 |2023-08-01 01:01:02.000 | -1 |2023-08-01 01:01:03.000 | -1 |2023-08-01 01:01:04.000 | -1 |2023-08-01 01:01:05.000 | -1 |2023-08-01 01:01:06.000 | 1 |2023-08-01 01:01:07.000 | 2 |2023-08-01 01:01:08.000 | 3 |2023-08-01 01:01:09.000 | 4 |2023-08-01 01:01:10.000 | 5 |2023-08-01 01:01:11.000 | NULL |2023-08-01 01:01:12.000 | 6 |2023-08-01 01:01:13.000 | -1 | select ts,statecount(v1,GT,1) from t7;ts | statecount(v1,GT,1) |
2023-08-01 01:01:00.000 | NULL |2023-08-01 01:01:01.000 | -1 |2023-08-01 01:01:02.000 | 1 |2023-08-01 01:01:03.000 | 2 |2023-08-01 01:01:04.000 | 3 |2023-08-01 01:01:05.000 | 4 |2023-08-01 01:01:06.000 | 5 |2023-08-01 01:01:07.000 | 6 |2023-08-01 01:01:08.000 | 7 |2023-08-01 01:01:09.000 | 8 |2023-08-01 01:01:10.000 | 9 |2023-08-01 01:01:11.000 | NULL |2023-08-01 01:01:12.000 | 10 |2023-08-01 01:01:13.000 | -1 |STATEDURATION
STATEDURATION(expr, oper, val, unit)功能说明返回满足某个条件的连续记录的时间长度结果作为新的一列追加在每行后面。条件根据参数计算如果条件为 true 则加上两个记录之间的时间长度第一个满足条件的记录时间长度记为 0条件为 false 则重置为-1如果数据为 NULL跳过该条数据。
参数范围
oper : LT (小于)、GT大于、LE小于等于、GE大于等于、NE不等于、EQ等于不区分大小写但需要用包括。val : 数值型unit : 时间长度的单位可取值时间单位 1b(纳秒), 1u(微秒)1a(毫秒)1s(秒)1m(分)1h(小时)1d(天), 1w(周)。如果省略默认为当前数据库精度。
返回结果类型INTEGER。
适用数据类型数值类型。
嵌套子查询支持不支持应用在子查询上。
适用于表和超级表。
使用说明
不能和窗口操作一起使用例如 interval/state_window/session_window。
示例: select ts,v1 from t7;ts | v1 |
2023-08-01 01:01:00.000 | NULL |2023-08-01 01:01:01.000 | 1 |2023-08-01 01:01:02.000 | 2 |2023-08-01 01:01:03.000 | 3 |2023-08-01 01:01:04.000 | 4 |2023-08-01 01:01:05.000 | 5 |2023-08-01 01:01:06.000 | 6 |2023-08-01 01:01:07.000 | 7 |2023-08-01 01:01:08.000 | 8 |2023-08-01 01:01:09.000 | 9 |2023-08-01 01:01:10.000 | 10 |2023-08-01 01:01:11.000 | NULL |2023-08-01 01:01:12.000 | 10 |2023-08-01 01:01:13.000 | -2 | select ts,stateduration(v1,GT,5,1a) from t7;ts | stateduration(v1,GT,5,1a) |
2023-08-01 01:01:00.000 | NULL |2023-08-01 01:01:01.000 | -1 |2023-08-01 01:01:02.000 | -1 |2023-08-01 01:01:03.000 | -1 |2023-08-01 01:01:04.000 | -1 |2023-08-01 01:01:05.000 | -1 |2023-08-01 01:01:06.000 | 0 |2023-08-01 01:01:07.000 | 1000 |2023-08-01 01:01:08.000 | 2000 |2023-08-01 01:01:09.000 | 3000 |2023-08-01 01:01:10.000 | 4000 |2023-08-01 01:01:11.000 | NULL |2023-08-01 01:01:12.000 | 6000 |2023-08-01 01:01:13.000 | -1 | select ts,stateduration(v1,GT,5,1s) from t7;ts | stateduration(v1,GT,5,1s) |
2023-08-01 01:01:00.000 | NULL |2023-08-01 01:01:01.000 | -1 |2023-08-01 01:01:02.000 | -1 |2023-08-01 01:01:03.000 | -1 |2023-08-01 01:01:04.000 | -1 |2023-08-01 01:01:05.000 | -1 |2023-08-01 01:01:06.000 | 0 |2023-08-01 01:01:07.000 | 1 |2023-08-01 01:01:08.000 | 2 |2023-08-01 01:01:09.000 | 3 |2023-08-01 01:01:10.000 | 4 |2023-08-01 01:01:11.000 | NULL |2023-08-01 01:01:12.000 | 6 |2023-08-01 01:01:13.000 | -1 | select ts,stateduration(v1,GT,5,1m) from t7;ts | stateduration(v1,GT,5,1m) |
2023-08-01 01:01:00.000 | NULL |2023-08-01 01:01:01.000 | -1 |2023-08-01 01:01:02.000 | -1 |2023-08-01 01:01:03.000 | -1 |2023-08-01 01:01:04.000 | -1 |2023-08-01 01:01:05.000 | -1 |2023-08-01 01:01:06.000 | 0 |2023-08-01 01:01:07.000 | 0 |2023-08-01 01:01:08.000 | 0 |2023-08-01 01:01:09.000 | 0 |2023-08-01 01:01:10.000 | 0 |2023-08-01 01:01:11.000 | NULL |2023-08-01 01:01:12.000 | 0 |2023-08-01 01:01:13.000 | -1 |TWA
TWA(expr)功能说明时间加权平均函数。统计表中某列在一段时间内的时间加权平均。
返回数据类型DOUBLE。
适用数据类型数值类型。
适用于表和超级表。
示例: select ts,v1 from t7;ts | v1 |
2023-08-01 01:01:00.000 | NULL |2023-08-01 01:01:01.000 | 1 |2023-08-01 01:01:02.000 | 2 |2023-08-01 01:01:03.000 | 3 |2023-08-01 01:01:04.000 | 4 |2023-08-01 01:01:05.000 | 5 |2023-08-01 01:01:06.000 | 6 |2023-08-01 01:01:07.000 | 7 |2023-08-01 01:01:08.000 | 8 |2023-08-01 01:01:09.000 | 9 |2023-08-01 01:01:10.000 | 10 |2023-08-01 01:01:11.000 | NULL |2023-08-01 01:01:12.000 | 10 |2023-08-01 01:01:13.000 | -2 | select _wstart,twa(v1) from t7 interval(1s);_wstart | twa(v1) |
2023-08-01 01:01:00.000 | 0.000000000000000 |2023-08-01 01:01:01.000 | 1.499500000000000 |2023-08-01 01:01:02.000 | 2.499500000000000 |2023-08-01 01:01:03.000 | 3.499500000000000 |2023-08-01 01:01:04.000 | 4.499499999999999 |2023-08-01 01:01:05.000 | 5.499499999999999 |2023-08-01 01:01:06.000 | 6.499499999999999 |2023-08-01 01:01:07.000 | 7.499499999999999 |2023-08-01 01:01:08.000 | 8.499500000000001 |2023-08-01 01:01:09.000 | 9.499500000000001 |2023-08-01 01:01:10.000 | 5.005000000000000 |2023-08-01 01:01:11.000 | 0.000000000000000 |2023-08-01 01:01:12.000 | 4.006000976562500 |2023-08-01 01:01:13.000 | -2.000000000000000 | select _wstart,twa(v1) from t7 interval(2s);_wstart | twa(v1) |
2023-08-01 01:01:00.000 | 1.499500000000000 |2023-08-01 01:01:02.000 | 2.999500000000000 |2023-08-01 01:01:04.000 | 4.999499999999999 |2023-08-01 01:01:06.000 | 6.999499999999999 |2023-08-01 01:01:08.000 | 8.999500000000001 |2023-08-01 01:01:10.000 | 9.995000000000001 |2023-08-01 01:01:12.000 | 3.999999511718750 |