InfluxQL 转换函数
InfluxQL 转换函数修改并返回查询数据中每一行的值。
缺失的InfluxQL函数
一些 InfluxQL 函数正在重新架构以与 InfluxDB 3 存储引擎配合使用。如果您需要的函数不在这里,请查看 InfluxQL 功能支持页面 以获取更多信息。
分组时必须使用聚合或选择函数
大多数转换函数支持 GROUP BY 子句对标签进行分组,但不直接支持 GROUP BY 子句对时间进行分组。要使用带有 GROUP BY time() 子句的转换函数,请对 field_expression 参数应用一个 aggregate 或 selector 函数。该转换在聚合或选择操作的结果上进行。
绝对值函数(ABS)()
返回字段值的绝对值。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
将 ABS() 应用于一个字段
SELECT
a,
ABS(a)
FROM numbers
LIMIT 6
| 时间 | a | 绝对值 |
|---|
| 2023-01-01T00:00:00Z | 0.33909108671076 | 0.33909108671076 |
| 2023-01-01T00:01:00Z | -0.774984088561186 | 0.774984088561186 |
| 2023-01-01T00:02:00Z | -0.921037167720451 | 0.921037167720451 |
| 2023-01-01T00:03:00Z | -0.73880754843378 | 0.73880754843378 |
| 2023-01-01T00:04:00Z | -0.905980032168252 | 0.905980032168252 |
| 2023-01-01T00:05:00Z | -0.891164752631417 | 0.891164752631417 |
对每个字段应用 ABS()
SELECT ABS(*) FROM numbers LIMIT 6
| 时间 | 绝对值_a | 绝对值_b |
|---|
| 2023-01-01T00:00:00Z | 0.33909108671076 | 0.163643058925645 |
| 2023-01-01T00:01:00Z | 0.774984088561186 | 0.137034364053949 |
| 2023-01-01T00:02:00Z | 0.921037167720451 | 0.482943221384294 |
| 2023-01-01T00:03:00Z | 0.73880754843378 | 0.0729732928756677 |
| 2023-01-01T00:04:00Z | 0.905980032168252 | 1.77857552719844 |
| 2023-01-01T00:05:00Z | 0.891164752631417 | 0.741147445214238 |
将 ABS() 应用到时间窗口(按时间分组)
SELECT
ABS(MEAN(a))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 绝对值 |
|---|
| 2023-01-01T00:00:00Z | 0.4345725888930678 |
| 2023-01-01T00:10:00Z | 0.12861008519618367 |
| 2023-01-01T00:20:00Z | 0.030168160597251192 |
| 2023-01-01T00:30:00Z | 0.02928699660831855 |
| 2023-01-01T00:40:00Z | 0.02211434600834538 |
| 2023-01-01T00:50:00Z | 0.15530468657783394 |
反余弦函数(ACOS)
返回字段值的反余弦值(以弧度为单位)。字段值必须在 -1 和 1 之间。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
将 ACOS() 应用到一个字段
SELECT
a,
ACOS(a)
FROM numbers
LIMIT 6
| 时间 | a | 反余弦 |
|---|
| 2023-01-01T00:00:00Z | 0.33909108671076 | 1.2248457522250173 |
| 2023-01-01T00:01:00Z | -0.774984088561186 | 2.4574862443115 |
| 2023-01-01T00:02:00Z | -0.921037167720451 | 2.741531473732281 |
| 2023-01-01T00:03:00Z | -0.73880754843378 | 2.4020955294179256 |
| 2023-01-01T00:04:00Z | -0.905980032168252 | 2.7044854502651114 |
| 2023-01-01T00:05:00Z | -0.891164752631417 | 2.6707024029338 |
对每个字段应用 ACOS()
SELECT ACOS(*) FROM numbers LIMIT 6
| 时间 | acos_a | acos_b |
|---|
| 2023-01-01T00:00:00Z | 1.2248457522250173 | 1.7351786975993897 |
| 2023-01-01T00:01:00Z | 2.4574862443115 | 1.433329416131427 |
| 2023-01-01T00:02:00Z | 2.741531473732281 | 2.074809114132046 |
| 2023-01-01T00:03:00Z | 2.4020955294179256 | 1.6438345403920092 |
| 2023-01-01T00:04:00Z | 2.7044854502651114 | |
| 2023-01-01T00:05:00Z | 2.6707024029338 | 0.7360183965088304 |
将 ACOS() 应用到时间窗口(按时间分组)
SELECT
ACOS(MEAN(a))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 反余弦 |
|---|
| 2023-01-01T00:00:00Z | 2.0203599837582877 |
| 2023-01-01T00:10:00Z | 1.441829029328407 |
| 2023-01-01T00:20:00Z | 1.5406235882252437 |
| 2023-01-01T00:30:00Z | 1.5415051418561052 |
| 2023-01-01T00:40:00Z | 1.5486801779072885 |
| 2023-01-01T00:50:00Z | 1.41486045205998 |
ASIN()
返回字段值的反正弦(以弧度表示)。字段值必须在 -1 到 1 之间。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
对一个字段应用 ASIN()
SELECT
a,
ASIN(a)
FROM numbers
LIMIT 6
| 时间 | a | asin |
|---|
| 2023-01-01T00:00:00Z | 0.33909108671076 | 0.34595057456987915 |
| 2023-01-01T00:01:00Z | -0.774984088561186 | -0.8866899175166036 |
| 2023-01-01T00:02:00Z | -0.921037167720451 | -1.1707351469373848 |
| 2023-01-01T00:03:00Z | -0.73880754843378 | -0.8312992026230288 |
| 2023-01-01T00:04:00Z | -0.905980032168252 | -1.133689123470215 |
| 2023-01-01T00:05:00Z | -0.891164752631417 | -1.0999060761389035 |
对每个字段应用 ASIN()
SELECT ASIN(*) FROM numbers LIMIT 6
| 时间 | asin_a | asin_b |
|---|
| 2023-01-01T00:00:00Z | 0.34595057456987915 | -0.1643823708044932 |
| 2023-01-01T00:01:00Z | -0.8866899175166036 | 0.1374669106634696 |
| 2023-01-01T00:02:00Z | -1.1707351469373848 | -0.5040127873371497 |
| 2023-01-01T00:03:00Z | -0.8312992026230288 | -0.07303821359711259 |
| 2023-01-01T00:04:00Z | -1.133689123470215 | |
| 2023-01-01T00:05:00Z | -1.0999060761389035 | 0.8347779302860662 |
将 ASIN() 应用到时间窗口(按时间分组)
SELECT
ASIN(MEAN(a))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 商品编号 |
|---|
| 2023-01-01T00:00:00Z | -0.44956365696339134 |
| 2023-01-01T00:10:00Z | 0.1289672974664895 |
| 2023-01-01T00:20:00Z | 0.030172738569652847 |
| 2023-01-01T00:30:00Z | 0.029291184938791334 |
| 2023-01-01T00:40:00Z | 0.022116148887608062 |
| 2023-01-01T00:50:00Z | 0.15593587473491674 |
反正切函数 ATAN()
返回字段值的反正切(以弧度为单位)。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
应用 ATAN() 到一个字段
SELECT
a,
ATAN(a)
FROM numbers
LIMIT 6
| 时间 | a | 反正切 |
|---|
| 2023-01-01T00:00:00Z | 0.33909108671076 | 0.32692355076199897 |
| 2023-01-01T00:01:00Z | -0.774984088561186 | -0.659300127490126 |
| 2023-01-01T00:02:00Z | -0.921037167720451 | -0.7443170183837121 |
| 2023-01-01T00:03:00Z | -0.73880754843378 | -0.6362993731936669 |
| 2023-01-01T00:04:00Z | -0.905980032168252 | -0.7361091800814261 |
| 2023-01-01T00:05:00Z | -0.891164752631417 | -0.727912249468035 |
对每个字段应用 ATAN()
SELECT ATAN(*) FROM numbers LIMIT 6
| 时间 | 反正切_a | 反正切_b |
|---|
| 2023-01-01T00:00:00Z | 0.32692355076199897 | -0.1622053541422186 |
| 2023-01-01T00:01:00Z | -0.659300127490126 | 0.13618613793696105 |
| 2023-01-01T00:02:00Z | -0.7443170183837121 | -0.4499093121666581 |
| 2023-01-01T00:03:00Z | -0.6362993731936669 | -0.07284417510130452 |
| 2023-01-01T00:04:00Z | -0.7361091800814261 | 1.0585985450688151 |
| 2023-01-01T00:05:00Z | -0.727912249468035 | 0.6378113578294793 |
将 ATAN() 应用到时间窗口(按时间分组)
SELECT
ATAN(MEAN(a))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 反正切 |
|---|
| 2023-01-01T00:00:00Z | -0.4099506966510045 |
| 2023-01-01T00:10:00Z | 0.1279079463727065 |
| 2023年01月01日00:20:00Z | 0.030159013397288013 |
| 2023-01-01T00:30:00Z | 0.02927862748761639 |
| 2023-01-01T00:40:00Z | 0.022110742100818606 |
| 2023-01-01T00:50:00Z | 0.15407382461141705 |
ATAN2()
返回 y/x 的反正切值(以弧度表示)。
ATAN2(expression_y, expression_x)
参数
- expression_y:用于识别
y数值或一个或多个字段进行操作的表达式。可以是数字字面量,字段键,常量或通配符(*)。支持数值字段类型。 - expression_x: 用于识别
x 数值或一个或多个要操作的字段的表达式。可以是数字字面量,field key,常量或通配符 (*)。支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
将 ATAN2() 应用到一个字段除以另一个字段
SELECT ATAN2(a, b) FROM numbers LIMIT 6
| 时间 | atan2 |
|---|
| 2023-01-01T00:00:00Z | 2.0204217911794937 |
| 2023-01-01T00:01:00Z | -1.395783190047229 |
| 2023年01月01日 00:02:00 | -2.053731408859953 |
| 2023-01-01T00:03:00Z | -1.669248713922653 |
| 2023-01-01T00:04:00Z | -0.47112754043763505 |
| 2023-01-01T00:05:00Z | -0.8770454978291377 |
对每个字段应用 ATAN2() 除以一个数字值
SELECT ATAN2(*, 2) FROM numbers LIMIT 6
| 时间 | atan2_a | atan2_b |
|---|
| 2023-01-01T00:00:00Z | 0.16794843225523703 | -0.0816396675119722 |
| 2023-01-01T00:01:00Z | -0.36967737169970566 | 0.06841026268126137 |
| 2023-01-01T00:02:00Z | -0.4315666721698651 | -0.2369359777533473 |
| 2023-01-01T00:03:00Z | -0.35385538623378937 | -0.036470468100670846 |
| 2023-01-01T00:04:00Z | -0.4253376417906667 | 0.7268651162204586 |
| 2023-01-01T00:05:00Z | -0.41917415992493756 | 0.35488446257957357 |
将 ATAN2() 应用于时间窗口(按时间分组)
SELECT
ATAN2(MEAN(a), MEAN(b))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | atan2 |
|---|
| 2023-01-01T00:00:00Z | -1.278967897411707 |
| 2023-01-01T00:10:00Z | 2.3520553840586773 |
| 2023-01-01T00:20:00Z | 2.226497789888965 |
| 2023-01-01T00:30:00Z | 3.0977773783018656 |
| 2023-01-01T00:40:00Z | 2.9285769547942677 |
| 2023-01-01T00:50:00Z | 0.9505419744107901 |
向上取整()
返回向上舍入到最近整数的后续值。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
对字段应用 CEIL()
SELECT
b,
CEIL(b)
FROM numbers
LIMIT 6
| 时间 | b | 向上取整 |
|---|
| 2023-01-01T00:00:00Z | -0.163643058925645 | -0 |
| 2023-01-01T00:01:00Z | 0.137034364053949 | 1 |
| 2023-01-01T00:02:00Z | -0.482943221384294 | -0 |
| 2023-01-01T00:03:00Z | -0.0729732928756677 | -0 |
| 2023-01-01T00:04:00Z | 1.77857552719844 | 2 |
| 2023-01-01T00:05:00Z | 0.741147445214238 | 1 |
对每个字段应用 CEIL()
SELECT CEIL(*) FROM numbers LIMIT 6
| 时间 | ceil_a | ceil_b |
|---|
| 2023-01-01T00:00:00Z | 1 | -0 |
| 2023-01-01T00:01:00Z | -0 | 1 |
| 2023-01-01T00:02:00Z | -0 | -0 |
| 2023-01-01T00:03:00Z | -0 | -0 |
| 2023-01-01T00:04:00Z | -0 | 2 |
| 2023-01-01T00:05:00Z | -0 | 1 |
对时间窗口应用 CEIL() (按时间分组)
SELECT
CEIL(MEAN(b))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 向上取整 |
|---|
| 2023-01-01T00:00:00Z | 1 |
| 2023年01月01日00:10:00Z | -0 |
| 2023-01-01T00:20:00Z | -0 |
| 2023-01-01T00:30:00Z | -0 |
| 2023-01-01T00:40:00Z | -0 |
| 2023-01-01T00:50:00Z | 1 |
COS()
返回字段值的余弦。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
在一个字段上应用 COS()
SELECT
b,
COS(b)
FROM numbers
LIMIT 6
| 时间 | b | 余弦 |
|---|
| 2023-01-01T00:00:00Z | -0.163643058925645 | 0.9866403278718959 |
| 2023-01-01T00:01:00Z | 0.137034364053949 | 0.9906254752128878 |
| 2023-01-01T00:02:00Z | -0.482943221384294 | 0.8856319645801471 |
| 2023-01-01T00:03:00Z | -0.0729732928756677 | 0.9973386305831397 |
| 2023-01-01T00:04:00Z | 1.77857552719844 | -0.20628737691395405 |
| 2023-01-01T00:05:00Z | 0.741147445214238 | 0.7376943643170851 |
对每个字段应用 COS()
SELECT COS(*) FROM numbers LIMIT 6
| 时间 | 余弦_a | 余弦_b |
|---|
| 2023-01-01T00:00:00Z | 0.9430573869206459 | 0.9866403278718959 |
| 2023-01-01T00:01:00Z | 0.7144321674550146 | 0.9906254752128878 |
| 2023-01-01T00:02:00Z | 0.6049946586273094 | 0.8856319645801471 |
| 2023-01-01T00:03:00Z | 0.7392720891861374 | 0.9973386305831397 |
| 2023-01-01T00:04:00Z | 0.616914561474936 | -0.20628737691395405 |
| 2023-01-01T00:05:00Z | 0.6285065034701617 | 0.7376943643170851 |
对时间窗口应用 COS() (按时间分组)
SELECT
COS(MEAN(b))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 余弦 |
|---|
| 2023-01-01T00:00:00Z | 0.9914907269510592 |
| 2023-01-01T00:10:00Z | 0.9918765457796455 |
| 2023-01-01T00:20:00Z | 0.9997307399250498 |
| 2023-01-01T00:30:00Z | 0.7850670342365872 |
| 2023-01-01T00:40:00Z | 0.9947779847618986 |
| 2023-01-01T00:50:00Z | 0.9938532355205111 |
累积和()
返回后续字段值的累计总和。
CUMULATIVE_SUM(field_expression)
参数
- field_expression: 表达式,用于识别一个或多个进行操作的字段。 可以是一个 field key、常量、正则表达式或通配符 (
*)。 支持数字字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
将 CUMULATIVE_SUM() 应用于一个字段
SELECT CUMULATIVE_SUM(b) FROM numbers LIMIT 6
| 时间 | 累积和 |
|---|
| 2023-01-01T00:00:00Z | -0.163643058925645 |
| 2023-01-01T00:01:00Z | -0.02660869487169601 |
| 2023-01-01T00:02:00Z | -0.5095519162559901 |
| 2023-01-01T00:03:00Z | -0.5825252091316577 |
| 2023-01-01T00:04:00Z | 1.1960503180667823 |
| 2023-01-01T00:05:00Z | 1.9371977632810204 |
对每个字段应用 CUMULATIVE_SUM()
SELECT CUMULATIVE_SUM(*) FROM numbers LIMIT 6
| 时间 | 累积和_a | 累积和_b |
|---|
| 2023-01-01T00:00:00Z | 0.33909108671076 | -0.163643058925645 |
| 2023-01-01T00:01:00Z | -0.43589300185042595 | -0.02660869487169601 |
| 2023-01-01T00:02:00Z | -1.3569301695708769 | -0.5095519162559901 |
| 2023-01-01T00:03:00Z | -2.095737718004657 | -0.5825252091316577 |
| 2023-01-01T00:04:00Z | -3.001717750172909 | 1.1960503180667823 |
| 2023-01-01T00:05:00Z | -3.892882502804326 | 1.9371977632810204 |
将CUMULATIVE_SUM() 应用到与正则表达式匹配的字段键
SELECT CUMULATIVE_SUM(/[ab]/) FROM numbers LIMIT 6
| 时间 | 累积和_a | 累积和_b |
|---|
| 2023-01-01T00:00:00Z | 0.33909108671076 | -0.163643058925645 |
| 2023-01-01T00:01:00Z | -0.43589300185042595 | -0.02660869487169601 |
| 2023-01-01T00:02:00Z | -1.3569301695708769 | -0.5095519162559901 |
| 2023-01-01T00:03:00Z | -2.095737718004657 | -0.5825252091316577 |
| 2023-01-01T00:04:00Z | -3.001717750172909 | 1.1960503180667823 |
| 2023-01-01T00:05:00Z | -3.892882502804326 | 1.9371977632810204 |
应用 CUMULATIVE_SUM() 到时间窗口(按时间分组)
SELECT
CUMULATIVE_SUM(SUM(b))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 累积和 |
|---|
| 2023-01-01T00:00:00Z | 1.3054783385851743 |
| 2023-01-01T00:10:00Z | 0.029980276948385454 |
| 2023-01-01T00:20:00Z | -0.20208529969578404 |
| 2023-01-01T00:30:00Z | -6.882005145666267 |
| 2023年01月01日 00:40:00 UTC | -7.904410787756402 |
| 2023-01-01T00:50:00Z | -6.795080184131271 |
导数()
返回每个 unit 的后续 field values 之间的变化率。
SELECT DERIVATIVE(field_expression[, unit])
参数
- field_expression: 表达式,用于识别一个或多个进行操作的字段。 可以是一个 field key、常量、正则表达式或通配符 (
*)。 支持数字字段类型。 - unit: 用于计算变化率的时间单位。 支持 duration literals。 默认值是
1s(每秒)。
显著行为
示例
以下示例使用
随机数字样本数据。
将 DERIVATIVE() 应用到一个字段以计算每秒变化
SELECT DERIVATIVE(b) FROM numbers LIMIT 6
| 时间 | 导数 |
|---|
| 2023-01-01T00:01:00Z | 0.005011290382993233 |
| 2023-01-01T00:02:00Z | -0.01033295975730405 |
| 2023-01-01T00:03:00Z | 0.006832832141810439 |
| 2023-01-01T00:04:00Z | 0.03085914700123513 |
| 2023-01-01T00:05:00Z | -0.017290468033070033 |
| 2023-01-01T00:06:00Z | -0.007557890705063634 |
对一个字段应用 DERIVATIVE() 以计算每 5 分钟的变化
SELECT DERIVATIVE(b, 5m) FROM numbers LIMIT 6
| 时间 | 导数 |
|---|
| 2023-01-01T00:01:00Z | 1.5033871148979698 |
| 2023-01-01T00:02:00Z | -3.0998879271912148 |
| 2023-01-01T00:03:00Z | 2.0498496425431316 |
| 2023-01-01T00:04:00Z | 9.257744100370537 |
| 2023年1月1日 00:05:00 | -5.187140409921009 |
| 2023-01-01T00:06:00Z | -2.26736721151909 |
将 DERIVATIVE() 应用到每个字段
SELECT DERIVATIVE(*) FROM numbers LIMIT 6
| 时间 | 导数_a | 导数_b |
|---|
| 2023-01-01T00:01:00Z | -0.018567919587865765 | 0.005011290382993233 |
| 2023-01-01T00:02:00Z | -0.0024342179859877505 | -0.01033295975730405 |
| 2023-01-01T00:03:00Z | 0.0030371603214445152 | 0.006832832141810439 |
| 2023-01-01T00:04:00Z |
-0.0027862080622411984 |
0.03085914700123513 |
| 2023-01-01T00:05:00Z | 0.00024692132561391543 | -0.017290468033070033 |
| 2023-01-01T00:06:00Z | 0.016704951104985283 | -0.007557890705063634 |
将 DERIVATIVE() 应用到匹配正则表达式的字段键上
SELECT DERIVATIVE(/[ab]/) FROM numbers LIMIT 6
| 时间 | 导数_a | 导数_b |
|---|
| 2023-01-01T00:01:00Z | -0.018567919587865765 | 0.005011290382993233 |
| 2023-01-01T00:02:00Z | -0.0024342179859877505 | -0.01033295975730405 |
| 2023-01-01T00:03:00Z | 0.0030371603214445152 | 0.006832832141810439 |
| 2023-01-01T00:04:00Z |
-0.0027862080622411984 |
0.03085914700123513 |
| 2023-01-01T00:05:00Z | 0.00024692132561391543 | -0.017290468033070033 |
| 2023-01-01T00:06:00Z | 0.016704951104985283 | -0.007557890705063634 |
将 DERIVATIVE() 应用到时间窗口(按时间分组)
SELECT
DERIVATIVE(MEAN(b), 1m)
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 导数 |
|---|
| 2023-01-01T00:10:00Z | -0.025809764002219633 |
| 2023-01-01T00:20:00Z | 0.010434324849926194 |
| 2023-01-01T00:30:00Z | -0.06447854269326314 |
| 2023-01-01T00:40:00Z | 0.05657514203880348 |
| 2023-01-01T00:50:00Z | 0.021317362457152655 |
差异()
返回后续字段值之间的减法结果。
DIFFERENCE(field_expression)
参数
- field_expression: 表达式,用于识别一个或多个进行操作的字段。 可以是一个 field key、常量、正则表达式或通配符 (
*)。 支持数字字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
对字段应用 DIFFERENCE()
SELECT DIFFERENCE(b) FROM numbers LIMIT 6
| 时间 | 差异 |
|---|
| 2023-01-01T00:01:00Z | 0.300677422979594 |
| 2023-01-01T00:02:00Z | -0.619977585438243 |
| 2023-01-01T00:03:00Z | 0.40996992850862635 |
| 2023-01-01T00:04:00Z | 1.8515488200741077 |
| 2023-01-01T00:05:00Z | -1.0374280819842019 |
| 2023-01-01T00:06:00Z | -0.45347344230381803 |
将 DIFFERENCE() 应用到每个字段
SELECT DIFFERENCE(*) FROM numbers LIMIT 6
| 时间 | 差异_a | 差异_b |
|---|
| 2023-01-01T00:01:00Z | -1.114075175271946 | 0.300677422979594 |
| 2023-01-01T00:02:00Z | -0.14605307915926502 | -0.619977585438243 |
| 2023-01-01T00:03:00Z | 0.18222961928667092 | 0.40996992850862635 |
| 2023-01-01T00:04:00Z | -0.1671724837344719 | 1.8515488200741077 |
| 2023-01-01T00:05:00Z | 0.014815279536834924 | -1.0374280819842019 |
| 2023-01-01T00:06:00Z | 1.002297066299117 | -0.45347344230381803 |
将 DIFFERENCE() 应用到匹配正则表达式的字段键
SELECT DIFFERENCE(/[ab]/) FROM numbers LIMIT 6
| 时间 | 差异_a | 差异_b |
|---|
| 2023-01-01T00:01:00Z | -1.114075175271946 | 0.300677422979594 |
| 2023-01-01T00:02:00Z | -0.14605307915926502 | -0.619977585438243 |
| 2023-01-01T00:03:00Z | 0.18222961928667092 | 0.40996992850862635 |
| 2023-01-01T00:04:00Z | -0.1671724837344719 | 1.8515488200741077 |
| 2023-01-01T00:05:00Z | 0.014815279536834924 | -1.0374280819842019 |
| 2023-01-01T00:06:00Z | 1.002297066299117 | -0.45347344230381803 |
将 DIFFERENCE() 应用于时间窗口(按时间分组)
SELECT
DIFFERENCE(MEAN(b))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 差异 |
|---|
| 2023-01-01T00:10:00Z | -0.2580976400221963 |
| 2023-01-01T00:20:00Z | 0.10434324849926194 |
| 2023-01-01T00:30:00Z | -0.6447854269326314 |
| 2023-01-01T00:40:00Z | 0.5657514203880348 |
| 2023-01-01T00:50:00Z | 0.21317362457152655 |
已过去时间()
返回指定单位时间内后续字段值时间戳之间的差异。
ELAPSED(field_expression[, unit ])
参数
- field_expression: 表达式,用于识别一个或多个要操作的字段。可以是一个 field key、常量、正则表达式或通配符 (
*)。支持所有字段类型。 - unit: 返回经过的时间的时间单位。 支持 持续时间文字。 默认是
1ns(纳秒)。
显著行为
- 如果
unit 大于点之间的经过时间, ELAPSED() 返回 0。 ELAPSED() 支持 GROUP BY time() 子句,但查询结果并不太有用。
带有嵌套函数和 GROUP BY time() 子句的 ELAPSED() 查询
返回 GROUP BY time() 子句中指定的时间间隔。
示例
以下示例使用
随机数字样本数据。
对字段应用 ELAPSED() 并返回以纳秒为单位的经过时间
SELECT ELAPSED(b) FROM numbers LIMIT 6
| 时间 | 耗时 |
|---|
| 2023-01-01T00:01:00Z | 60000000000 |
| 2023-01-01T00:02:00Z | 60000000000 |
| 2023年01月01日 00:03:00 | 60000000000 |
| 2023-01-01T00:04:00Z | 60000000000 |
| 2023年01月01日00:05:00Z | 60000000000 |
| 2023年01月01日 00:06:00 Z | 60000000000 |
将 ELAPSED() 应用到一个字段并返回以秒为单位的经过时间
SELECT ELAPSED(b, 1s) FROM numbers LIMIT 6
| 时间 | 耗时 |
|---|
| 2023-01-01T00:01:00Z | 60 |
| 2023-01-01T00:02:00Z | 60 |
| 2023-01-01T00:03:00Z | 60 |
| 2023-01-01T00:04:00Z | 60 |
| 2023-01-01T00:05:00Z | 60 |
| 2023-01-01T00:06:00Z | 60 |
将 ELAPSED() 应用到每个字段
SELECT ELAPSED(*) FROM numbers LIMIT 6
| 时间 | 经过_a | 经过_b |
|---|
| 2023-01-01T00:01:00Z | 60000000000 | 60000000000 |
| 2023-01-01T00:02:00Z | 60000000000 | 60000000000 |
| 2023-01-01T00:03:00Z | 60000000000 | 60000000000 |
| 2023-01-01T00:04:00Z | 60000000000 | 60000000000 |
| 2023-01-01T00:05:00Z | 60000000000 | 60000000000 |
| 2023-01-01T00:06:00Z | 60000000000 | 60000000000 |
将 ELAPSED() 应用到与正则表达式匹配的字段键
SELECT ELAPSED(/[ab]/, 1s) FROM numbers LIMIT 6
| 时间 | 经过_a | 经过_b |
|---|
| 2023-01-01T00:01:00Z | 60 | 60 |
| 2023-01-01T00:02:00Z | 60 | 60 |
| 2023-01-01T00:03:00Z | 60 | 60 |
| 2023-01-01T00:04:00Z | 60 | 60 |
| 2023-01-01T00:05:00Z | 60 | 60 |
| 2023-01-01T00:06:00Z | 60 | 60 |
EXP()
返回字段值的指数。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
将 EXP() 应用于一个字段
SELECT
a,
EXP(a)
FROM numbers
LIMIT 6
| 时间 | a | 指数 |
|---|
| 2023-01-01T00:00:00Z | 0.33909108671076 | 1.4036711951820788 |
| 2023-01-01T00:01:00Z | -0.774984088561186 | 0.460711111517308 |
| 2023-01-01T00:02:00Z | -0.921037167720451 | 0.39810592427186076 |
| 2023-01-01T00:03:00Z | -0.73880754843378 | 0.4776831901055915 |
| 2023-01-01T00:04:00Z | -0.905980032168252 | 0.40414561525252984 |
| 2023-01-01T00:05:00Z | -0.891164752631417 | 0.4101777188333968 |
对每个字段应用 EXP()
SELECT EXP(*) FROM numbers LIMIT 6
| 时间 | 经验_a | 经验_b |
|---|
| 2023-01-01T00:00:00Z | 1.4036711951820788 | 0.8490450268435884 |
| 2023-01-01T00:01:00Z | 0.460711111517308 | 1.14686755886191 |
| 2023-01-01T00:02:00Z | 0.39810592427186076 | 0.6169648527893578 |
| 2023-01-01T00:03:00Z | 0.4776831901055915 | 0.929625657322271 |
| 2023-01-01T00:04:00Z | 0.40414561525252984 | 5.921415512753404 |
| 2023-01-01T00:05:00Z | 0.4101777188333968 | 2.09834186598405 |
对时间窗口(按时间分组)应用 EXP()
SELECT
EXP(MEAN(a))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 经验 |
|---|
| 2023-01-01T00:00:00Z | 0.6475413743155294 |
| 2023-01-01T00:10:00Z | 1.137246608416461 |
| 2023-01-01T00:20:00Z | 1.030627830373793 |
| 2023-01-01T00:30:00Z | 1.029720078241656 |
| 2023-01-01T00:40:00Z | 1.0223606806499268 |
| 2023-01-01T00:50:00Z | 1.1680137850180072 |
向下取整()
返回向下舍入到最接近的整数的后续值。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
将 FLOOR() 应用于一个字段
SELECT
b,
FLOOR(b)
FROM numbers
LIMIT 6
| 时间 | b | 楼层 |
|---|
| 2023-01-01T00:00:00Z | -0.163643058925645 | -1 |
| 2023-01-01T00:01:00Z | 0.137034364053949 | 0 |
| 2023-01-01T00:02:00Z | -0.482943221384294 | -1 |
| 2023-01-01T00:03:00Z | -0.0729732928756677 | -1 |
| 2023-01-01T00:04:00Z | 1.77857552719844 | 1 |
| 2023-01-01T00:05:00Z | 0.741147445214238 | 0 |
将 FLOOR() 应用到每个字段
SELECT FLOOR(*) FROM numbers LIMIT 6
| 时间 | 楼层_a | 楼层_b |
|---|
| 2023-01-01T00:00:00Z | 0 | -1 |
| 2023-01-01T00:01:00Z | -1 | 0 |
| 2023-01-01T00:02:00Z | -1 | -1 |
| 2023-01-01T00:03:00Z | -1 | -1 |
| 2023-01-01T00:04:00Z | -1 | 1 |
| 2023-01-01T00:05:00Z | -1 | 0 |
将 FLOOR() 应用于时间窗口(按时间分组)
SELECT
FLOOR(SUM(a))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 楼层 |
|---|
| 2023-01-01T00:00:00Z | -5 |
| 2023-01-01T00:10:00Z | 1 |
| 2023-01-01T00:20:00Z | 0 |
| 2023-01-01T00:30:00Z | 0 |
| 2023-01-01T00:40:00Z | 0 |
| 2023-01-01T00:50:00Z | 1 |
自然对数函数 (LN)
返回字段值的自然对数。 字段值必须大于或等于 0。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
将 LN() 应用于一个字段
SELECT
b,
LN(b)
FROM numbers
LIMIT 6
| 时间 | b | 自然对数 |
|---|
| 2023-01-01T00:00:00Z | -0.163643058925645 | |
| 2023-01-01T00:01:00Z | 0.137034364053949 | -1.98752355209665 |
| 2023-01-01T00:02:00Z | -0.482943221384294 | |
| 2023-01-01T00:03:00Z | -0.0729732928756677 | |
| 2023-01-01T00:04:00Z | 1.77857552719844 | 0.5758127783016702 |
| 2023-01-01T00:05:00Z | 0.741147445214238 | -0.2995556920844895 |
对每个字段应用 LN()
SELECT LN(*) FROM numbers LIMIT 6
| 时间 | ln_a | ln_b |
|---|
| 2023-01-01T00:00:00Z | -1.0814865153308908 | |
| 2023-01-01T00:01:00Z | | -1.98752355209665 |
| 2023-01-01T00:02:00Z | | |
| 2023-01-01T00:03:00Z | | |
| 2023-01-01T00:04:00Z | | 0.5758127783016702 |
| 2023-01-01T00:05:00Z | | -0.2995556920844895 |
应用 LN() 到时间窗口(按时间分组)
SELECT
LN(SUM(a))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 自然对数 |
|---|
| 2023-01-01T00:00:00Z | |
| 2023-01-01T00:10:00Z | 0.25161504572793725 |
| 2023-01-01T00:20:00Z | -1.1983831026157092 |
| 2023-01-01T00:30:00Z | -1.2280265702380913 |
| 2023-01-01T00:40:00Z | -1.5089436474159283 |
| 2023-01-01T00:50:00Z | 0.4402187212890264 |
日志()
返回以b为底的字段值的对数。字段值必须大于或等于0。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。 - b: 用于操作的对数基数。
显著行为
示例
以下示例使用
随机数字样本数据。
对基数为3的字段应用 LOG()
SELECT
b,
LOG(b, 3)
FROM numbers
LIMIT 6
| 时间 | b | 日志 |
|---|
| 2023-01-01T00:00:00Z | -0.163643058925645 | |
| 2023-01-01T00:01:00Z | 0.137034364053949 | -1.8091219009630797 |
| 2023-01-01T00:02:00Z | -0.482943221384294 | |
| 2023-01-01T00:03:00Z | -0.0729732928756677 | |
| 2023-01-01T00:04:00Z | 1.77857552719844 | 0.5241273780031629 |
| 2023-01-01T00:05:00Z | 0.741147445214238 | -0.2726673414946528 |
对每个字段应用 LOG(),以5为底
SELECT LOG(*, 5) FROM numbers LIMIT 6
| 时间 | 日志_a | 日志_b |
|---|
| 2023-01-01T00:00:00Z | -0.6719653532302217 | |
| 2023-01-01T00:01:00Z | | -1.2349178161776593 |
| 2023-01-01T00:02:00Z | | |
| 2023-01-01T00:03:00Z | | |
| 2023-01-01T00:04:00Z | | 0.3577725949246566 |
| 2023-01-01T00:05:00Z | | -0.18612441633827553 |
将 LOG() 应用到时间窗口(按时间分组)
SELECT
LOG(SUM(a), 10)
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 日志 |
|---|
| 2023-01-01T00:00:00Z | |
| 2023-01-01T00:10:00Z | 0.10927502592347751 |
| 2023-01-01T00:20:00Z | -0.5204511686721008 |
| 2023-01-01T00:30:00Z | -0.5333251630849791 |
| 2023-01-01T00:40:00Z | -0.6553258995757036 |
| 2023-01-01T00:50:00Z | 0.1911845614863297 |
对数2()
返回字段值以2为底的对数。字段值必须大于或等于0。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
在字段上应用 LOG2()
SELECT
b,
LOG2(b)
FROM numbers
LIMIT 6
| 时间 | b | log2 |
|---|
| 2023-01-01T00:00:00Z | -0.163643058925645 | |
| 2023-01-01T00:01:00Z | 0.137034364053949 | -2.8673903722598544 |
| 2023-01-01T00:02:00Z | -0.482943221384294 | |
| 2023-01-01T00:03:00Z | -0.0729732928756677 | |
| 2023-01-01T00:04:00Z | 1.77857552719844 | 0.8307222397363156 |
| 2023-01-01T00:05:00Z | 0.741147445214238 | -0.4321675114403543 |
对每个字段应用 LOG2()
SELECT LOG2(*) FROM numbers LIMIT 6
| 时间 | log2_a | log2_b |
|---|
| 2023-01-01T00:00:00Z | -1.560255232456162 | |
| 2023-01-01T00:01:00Z | | -2.8673903722598544 |
| 2023-01-01T00:02:00Z | | |
| 2023-01-01T00:03:00Z | | |
| 2023-01-01T00:04:00Z | | 0.8307222397363156 |
| 2023-01-01T00:05:00Z | | -0.4321675114403543 |
应用 LOG2() 到时间窗口(按时间分组)
SELECT
LOG2(SUM(a))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 对数2 |
|---|
| 2023-01-01T00:00:00Z | |
| 2023-01-01T00:10:00Z | 0.36300377868474476 |
| 2023-01-01T00:20:00Z | -1.7289013592288134 |
| 2023-01-01T00:30:00Z | -1.7716678429623767 |
| 2023-01-01T00:40:00Z | -2.1769455171078644 |
| 2023-01-01T00:50:00Z | 0.6351013661101591 |
LOG10()
返回字段值以10为底的对数。字段值必须大于或等于0。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
对一个字段应用 LOG10()
SELECT
b,
LOG10(b)
FROM numbers
LIMIT 6
| 时间 | b | log10 |
|---|
| 2023-01-01T00:00:00Z | -0.163643058925645 | |
| 2023-01-01T00:01:00Z | 0.137034364053949 | -0.8631705113283253 |
| 2023-01-01T00:02:00Z | -0.482943221384294 | |
| 2023-01-01T00:03:00Z | -0.0729732928756677 | |
| 2023-01-01T00:04:00Z | 1.77857552719844 | 0.25007231222579585 |
| 2023-01-01T00:05:00Z | 0.741147445214238 | -0.1300953840950034 |
对每个字段应用 LOG10()
SELECT LOG10(*) FROM numbers LIMIT 6
| 时间 | log10_a | log10_b |
|---|
| 2023-01-01T00:00:00Z | -0.46968362586098245 | |
| 2023-01-01T00:01:00Z | | -0.8631705113283253 |
| 2023-01-01T00:02:00Z | | |
| 2023-01-01T00:03:00Z | | |
| 2023-01-01T00:04:00Z | | 0.25007231222579585 |
| 2023-01-01T00:05:00Z | | -0.1300953840950034 |
将 LOG10() 应用于时间窗口(按时间分组)
SELECT
LOG10(SUM(a))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 以10为底的对数 |
|---|
| 2023-01-01T00:00:00Z | |
| 2023-01-01T00:10:00Z | 0.10927502592347751 |
| 2023-01-01T00:20:00Z | -0.520451168672101 |
| 2023-01-01T00:30:00Z | -0.5333251630849791 |
| 2023-01-01T00:40:00Z | -0.6553258995757036 |
| 2023-01-01T00:50:00Z | 0.19118456148632973 |
移动平均值()
返回随后的 字段值 的滚动平均值。
MOVING_AVERAGE(field_expression, N)
参数
- field_expression: 表达式,用于识别一个或多个要操作的字段。可以是一个 field key、常量、正则表达式或通配符 (
*)。支持所有字段类型。 - N: 用于计算移动平均的字段值数量。
显著行为
示例
以下示例使用
随机数字样本数据。
将 MOVING_AVERAGE() 应用于一个字段
SELECT MOVING_AVERAGE(a, 3) FROM numbers LIMIT 6
| 时间 | 移动平均 |
|---|
| 2023-01-01T00:02:00Z | -0.4523100565236256 |
| 2023-01-01T00:03:00Z | -0.8116096015718056 |
| 2023-01-01T00:04:00Z | -0.8552749161074944 |
| 2023-01-01T00:05:00Z | -0.8453174444111498 |
| 2023-01-01T00:06:00Z | -0.5620041570439896 |
| 2023-01-01T00:07:00Z | -0.3569778402485757 |
将 MOVING_AVERAGE() 应用到每个字段
SELECT MOVING_AVERAGE(*, 3) FROM numbers LIMIT 6
| 时间 | 移动平均A | 移动平均B |
|---|
| 2023-01-01T00:02:00Z | -0.4523100565236256 | -0.16985063875199669 |
| 2023-01-01T00:03:00Z | -0.8116096015718056 | -0.13962738340200423 |
| 2023-01-01T00:04:00Z | -0.8552749161074944 | 0.40755300431282615 |
| 2023-01-01T00:05:00Z | -0.8453174444111498 | 0.815583226512337 |
| 2023-01-01T00:06:00Z | -0.5620041570439896 | 0.9357989917743662 |
| 2023年01月01日 00:07:00 | -0.3569778402485757 | 0.15985821845558748 |
将MOVING_AVERAGE()应用于与正则表达式匹配的字段键
SELECT MOVING_AVERAGE(/[ab]/, 3) FROM numbers LIMIT 6
| 时间 | 移动平均A | 移动平均B |
|---|
| 2023-01-01T00:02:00Z | -0.4523100565236256 | -0.16985063875199669 |
| 2023-01-01T00:03:00Z | -0.8116096015718056 | -0.13962738340200423 |
| 2023-01-01T00:04:00Z | -0.8552749161074944 | 0.40755300431282615 |
| 2023-01-01T00:05:00Z | -0.8453174444111498 | 0.815583226512337 |
| 2023-01-01T00:06:00Z | -0.5620041570439896 | 0.9357989917743662 |
| 2023年01月01日 00:07:00 | -0.3569778402485757 | 0.15985821845558748 |
将 MOVING_AVERAGE() 应用到时间窗口(按时间分组)
SELECT
MOVING_AVERAGE(SUM(a), 3)
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 移动平均 |
|---|
| 2023-01-01T00:20:00Z | -0.9193144769987766 |
| 2023-01-01T00:30:00Z | 0.626884141339178 |
| 2023-01-01T00:40:00Z | 0.27189834404638374 |
| 2023年01月01日00:50:00Z | 0.6890200973149928 |
非负导数()
仅返回后续字段值之间的非负变化率。负变化率返回null。
NON_NEGATIVE_DERIVATIVE(field_expression[, unit])
参数
- field_expression: 表达式,用于识别一个或多个进行操作的字段。 可以是一个 field key、常量、正则表达式或通配符 (
*)。 支持数字字段类型。 - unit: 用于计算变化率的时间单位。 支持 duration literals。 默认值是
1s(每秒)。
显著行为
示例
以下示例使用
随机数字样本数据。
将 NON_NEGATIVE_DERIVATIVE() 应用到一个字段以计算每秒变化
SELECT NON_NEGATIVE_DERIVATIVE(b) FROM numbers LIMIT 6
| 时间 | 非负导数 |
|---|
| 2023-01-01T00:01:00Z | 0.005011290382993233 |
| 2023-01-01T00:03:00Z | 0.006832832141810439 |
| 2023-01-01T00:04:00Z | 0.03085914700123513 |
| 2023-01-01T00:08:00Z | 0.0227877053636946 |
| 2023-01-01T00:10:00Z | 0.001676063810538834 |
| 2023-01-01T00:11:00Z | 0.014999637478226817 |
将 NON_NEGATIVE_DERIVATIVE() 应用于某个字段,以计算每5分钟的变化
SELECT NON_NEGATIVE_DERIVATIVE(b, 5m) FROM numbers LIMIT 6
| 时间 | 非负导数 |
|---|
| 2023-01-01T00:01:00Z | 1.5033871148979698 |
| 2023-01-01T00:03:00Z | 2.0498496425431316 |
| 2023-01-01T00:04:00Z | 9.257744100370537 |
| 2023-01-01T00:08:00Z | 6.836311609108379 |
| 2023-01-01T00:10:00Z | 0.5028191431616502 |
| 2023-01-01T00:11:00Z | 4.499891243468045 |
将 NON_NEGATIVE_DERIVATIVE() 应用到每个字段
SELECT NON_NEGATIVE_DERIVATIVE(*) FROM numbers LIMIT 6
| 时间 | 非负导数_a | 非负导数_b |
|---|
| 2023-01-01T00:01:00Z | | 0.005011290382993233 |
| 2023-01-01T00:03:00Z | 0.0030371603214445152 | 0.006832832141810439 |
| 2023-01-01T00:04:00Z | | 0.03085914700123513 |
| 2023-01-01T00:05:00Z | 0.00024692132561391543 | |
| 2023-01-01T00:06:00Z | 0.016704951104985283 | |
| 2023-01-01T00:08:00Z | | 0.0227877053636946 |
| 2023-01-01T00:09:00Z | 0.018437240876186967 | |
| 2023-01-01T00:10:00Z | | 0.001676063810538834 |
| 2023-01-01T00:11:00Z | | 0.014999637478226817 |
| 2023-01-01T00:13:00Z | 0.006694752202850366 | |
| 2023-01-01T00:14:00Z | 0.011836797386191167 | |
将 NON_NEGATIVE_DERIVATIVE() 应用到与正则表达式匹配的字段键
SELECT NON_NEGATIVE_DERIVATIVE(/[ab]/) FROM numbers LIMIT 6
| 时间 | 非负导数_a | 非负导数_b |
|---|
| 2023-01-01T00:01:00Z | | 0.005011290382993233 |
| 2023-01-01T00:03:00Z | 0.0030371603214445152 | 0.006832832141810439 |
| 2023-01-01T00:04:00Z | | 0.03085914700123513 |
| 2023-01-01T00:05:00Z | 0.00024692132561391543 | |
| 2023-01-01T00:06:00Z | 0.016704951104985283 | |
| 2023-01-01T00:08:00Z | | 0.0227877053636946 |
| 2023-01-01T00:09:00Z | 0.018437240876186967 | |
| 2023-01-01T00:10:00Z | | 0.001676063810538834 |
| 2023-01-01T00:11:00Z | | 0.014999637478226817 |
| 2023-01-01T00:13:00Z | 0.006694752202850366 | |
| 2023-01-01T00:14:00Z | 0.011836797386191167 | |
将 NON_NEGATIVE_DERIVATIVE() 应用于时间窗口(按时间分组)
SELECT
NON_NEGATIVE_DERIVATIVE(MEAN(b), 1m)
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 非负导数 |
|---|
| 2023-01-01T00:20:00Z | 0.010434324849926194 |
| 2023-01-01T00:40:00Z | 0.05657514203880348 |
| 2023-01-01T00:50:00Z | 0.021317362457152655 |
非负差异()
仅返回后续字段值之间的非负减法结果。负差返回null。
NON_NEGATIVE_DIFFERENCE(field_expression)
参数
- field_expression: 表达式,用于识别一个或多个进行操作的字段。 可以是一个 field key、常量、正则表达式或通配符 (
*)。 支持数字字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
将 NON_NEGATIVE_DIFFERENCE() 应用到一个字段
SELECT NON_NEGATIVE_DIFFERENCE(b) FROM numbers LIMIT 6
| 时间 | 非负差异 |
|---|
| 2023-01-01T00:01:00Z | 0.300677422979594 |
| 2023-01-01T00:03:00Z | 0.40996992850862635 |
| 2023-01-01T00:04:00Z | 1.8515488200741077 |
| 2023-01-01T00:08:00Z | 1.367262321821676 |
| 2023-01-01T00:10:00Z | 0.10056382863233004 |
| 2023-01-01T00:11:00Z | 0.899978248693609 |
将 NON_NEGATIVE_DIFFERENCE() 应用到每个字段
SELECT NON_NEGATIVE_DIFFERENCE(*) FROM numbers LIMIT 6
| 时间 | 非负差异_a | 非负差异_b |
|---|
| 2023年1月1日00:01:00Z | | 0.300677422979594 |
| 2023-01-01T00:03:00Z | 0.18222961928667092 | 0.40996992850862635 |
| 2023-01-01T00:04:00Z | | 1.8515488200741077 |
| 2023-01-01T00:05:00Z | 0.014815279536834924 | |
| 2023-01-01T00:06:00Z | 1.002297066299117 | |
| 2023-01-01T00:08:00Z | | 1.367262321821676 |
| 2023-01-01T00:09:00Z | 1.106234452571218 | |
| 2023-01-01T00:10:00Z | | 0.10056382863233004 |
| 2023-01-01T00:11:00Z | | 0.899978248693609 |
| 2023-01-01T00:13:00Z | 0.401685132171022 | |
| 2023-01-01T00:14:00Z | 0.71020784317147 | |
将 NON_NEGATIVE_DIFFERENCE() 应用到匹配正则表达式的字段键
SELECT NON_NEGATIVE_DIFFERENCE(/[ab]/) FROM numbers LIMIT 6
| 时间 | 非负差异_a | 非负差异_b |
|---|
| 2023年1月1日00:01:00Z | | 0.300677422979594 |
| 2023-01-01T00:03:00Z | 0.18222961928667092 | 0.40996992850862635 |
| 2023-01-01T00:04:00Z | | 1.8515488200741077 |
| 2023-01-01T00:05:00Z | 0.014815279536834924 | |
| 2023-01-01T00:06:00Z | 1.002297066299117 | |
| 2023-01-01T00:08:00Z | | 1.367262321821676 |
| 2023-01-01T00:09:00Z | 1.106234452571218 | |
| 2023-01-01T00:10:00Z | | 0.10056382863233004 |
| 2023-01-01T00:11:00Z | | 0.899978248693609 |
| 2023-01-01T00:13:00Z | 0.401685132171022 | |
| 2023-01-01T00:14:00Z | 0.71020784317147 | |
将 NON_NEGATIVE_DIFFERENCE() 应用于时间窗口(按时间分组)
SELECT
NON_NEGATIVE_DIFFERENCE(MEAN(b))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 非负差异 |
|---|
| 2023-01-01T00:20:00Z | 0.10434324849926194 |
| 2023-01-01T00:40:00Z | 0.5657514203880348 |
| 2023-01-01T00:50:00Z | 0.21317362457152655 |
POW()
返回字段值的x次方。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。 - x: 乘方的能力。
显著行为
示例
以下示例使用
随机数字样本数据。
将 POW() 应用于幂为 3 的字段
SELECT
b,
POW(b, 3)
FROM numbers
LIMIT 6
| 时间 | b | 功率 |
|---|
| 2023-01-01T00:00:00Z | -0.163643058925645 | -0.004382205777325515 |
| 2023-01-01T00:01:00Z | 0.137034364053949 | 0.002573288422171338 |
| 2023-01-01T00:02:00Z | -0.482943221384294 | -0.1126388541916811 |
| 2023-01-01T00:03:00Z | -0.0729732928756677 | -0.0003885901893904874 |
| 2023-01-01T00:04:00Z | 1.77857552719844 | 5.626222933751733 |
| 2023-01-01T00:05:00Z | 0.741147445214238 | 0.4071119474284653 |
对每个字段应用 POW(),指数为5
SELECT POW(*, 5) FROM numbers LIMIT 6
| 时间 | 功率_a | 功率_b |
|---|
| 2023-01-01T00:00:00Z | 0.004483135555212479 | -0.00011735131084020357 |
| 2023-01-01T00:01:00Z | -0.2795528536239978 | 0.000048322282876973225 |
| 2023-01-01T00:02:00Z | -0.6628050073932118 | -0.026271227986693114 |
| 2023-01-01T00:03:00Z | -0.22011853819169455 | -0.000002069282189962477 |
| 2023-01-01T00:04:00Z | -0.6103699296012646 | 17.797604890097084 |
| 2023-01-01T00:05:00Z | -0.5620694808926487 | 0.22362640363833164 |
将POW()应用于时间窗口(按时间分组)
SELECT
POW(SUM(a), 10)
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 功率 |
|---|
| 2023-01-01T00:00:00Z | 2402278.159218532 |
| 2023-01-01T00:10:00Z | 12.380844221267186 |
| 2023-01-01T00:20:00Z | 0.000006244365466732681 |
| 2023-01-01T00:30:00Z | 0.0000046424621235691315 |
| 2023-01-01T00:40:00Z | 2.7973126174031977e-7 |
| 2023-01-01T00:50:00Z | 81.6292140233699 |
舍入()
返回四舍五入到最接近的整数的字段值。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
将 ROUND() 应用到一个字段
SELECT
b,
ROUND(b)
FROM numbers
LIMIT 6
| 时间 | b | 轮次 |
|---|
| 2023-01-01T00:00:00Z | -0.163643058925645 | -0 |
| 2023-01-01T00:01:00Z | 0.137034364053949 | 0 |
| 2023-01-01T00:02:00Z | -0.482943221384294 | -0 |
| 2023-01-01T00:03:00Z | -0.0729732928756677 | -0 |
| 2023-01-01T00:04:00Z | 1.77857552719844 | 2 |
| 2023-01-01T00:05:00Z | 0.741147445214238 | 1 |
对每个字段应用 ROUND()
SELECT ROUND(*) FROM numbers LIMIT 6
| 时间 | 轮次_a | 轮次_b |
|---|
| 2023-01-01T00:00:00Z | 0 | -0 |
| 2023-01-01T00:01:00Z | -1 | 0 |
| 2023-01-01T00:02:00Z | -1 | -0 |
| 2023-01-01T00:03:00Z | -1 | -0 |
| 2023-01-01T00:04:00Z | -1 | 2 |
| 2023-01-01T00:05:00Z | -1 | 1 |
对时间窗口(按时间分组)应用 ROUND()
SELECT
ROUND(SUM(a))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 轮次 |
|---|
| 2023年1月1日00:00:00 | -4 |
| 2023-01-01T00:10:00Z | 1 |
| 2023-01-01T00:20:00Z | 0 |
| 2023-01-01T00:30:00Z | 0 |
| 2023-01-01T00:40:00Z | 0 |
| 2023-01-01T00:50:00Z | 2 |
SIN()
返回字段值的正弦值。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
将 SIN() 应用到一个字段
SELECT
b,
SIN(b)
FROM numbers
LIMIT 6
| 时间 | b | 正弦 |
|---|
| 2023-01-01T00:00:00Z | -0.163643058925645 | -0.1629136686003898 |
| 2023-01-01T00:01:00Z | 0.137034364053949 | 0.13660588515594851 |
| 2023-01-01T00:02:00Z | -0.482943221384294 | -0.4643877941052164 |
| 2023-01-01T00:03:00Z | -0.0729732928756677 | -0.0729085450859347 |
| 2023-01-01T00:04:00Z | 1.77857552719844 | 0.9784914502058565 |
| 2023-01-01T00:05:00Z | 0.741147445214238 | 0.6751348197618099 |
对每个字段应用 SIN()
SELECT SIN(*) FROM numbers LIMIT 6
| 时间 | 正弦_a | 正弦_b |
|---|
| 2023-01-01T00:00:00Z | 0.3326300722640741 | -0.1629136686003898 |
| 2023-01-01T00:01:00Z | -0.6997047077914582 | 0.13660588515594851 |
| 2023-01-01T00:02:00Z | -0.7962295291135749 | -0.4643877941052164 |
| 2023-01-01T00:03:00Z | -0.673406844448706 | -0.0729085450859347 |
| 2023-01-01T00:04:00Z | -0.7870301289278495 | 0.9784914502058565 |
| 2023-01-01T00:05:00Z | -0.7778043295686337 | 0.6751348197618099 |
应用 SIN() 到时间窗口(按时间分组)
SELECT
SIN(SUM(a))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 正弦 |
|---|
| 2023-01-01T00:00:00Z | 0.933528830283535 |
| 2023-01-01T00:10:00Z | 0.9597472276784815 |
| 2023-01-01T00:20:00Z | 0.29712628761434723 |
| 2023-01-01T00:30:00Z | 0.2887011711003489 |
| 2023-01-01T00:40:00Z | 0.21934537994884437 |
| 2023-01-01T00:50:00Z | 0.9998424824522808 |
SQRT()
返回字段值的平方根。字段值必须大于或等于0。负字段值返回空。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
将 SQRT() 应用到一个字段
SELECT
b,
SQRT(b)
FROM numbers
LIMIT 6
| 时间 | b | 平方根 |
|---|
| 2023-01-01T00:00:00Z | -0.163643058925645 | |
| 2023-01-01T00:01:00Z | 0.137034364053949 | 0.370181528515334 |
| 2023-01-01T00:02:00Z | -0.482943221384294 | |
| 2023-01-01T00:03:00Z | -0.0729732928756677 | |
| 2023-01-01T00:04:00Z | 1.77857552719844 | 1.3336324558132349 |
| 2023-01-01T00:05:00Z | 0.741147445214238 | 0.860899207349059 |
对每个字段应用 SQRT()
SELECT SQRT(*) FROM numbers LIMIT 6
| 时间 | 平方根_a | 平方根_b |
|---|
| 2023年1月1日T00:00:00Z | 0.5823152811928947 | |
| 2023-01-01T00:01:00Z | | 0.370181528515334 |
| 2023-01-01T00:02:00Z | | |
| 2023-01-01T00:03:00Z | | |
| 2023-01-01T00:04:00Z | | 1.3336324558132349 |
| 2023-01-01T00:05:00Z | | 0.860899207349059 |
将 SQRT() 应用到时间窗口(按时间分组)
SELECT
SQRT(SUM(a))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 平方根 |
|---|
| 2023-01-01T00:00:00Z | |
| 2023-01-01T00:10:00Z | 1.134063865909604 |
| 2023-01-01T00:20:00Z | 0.5492555015405052 |
| 2023-01-01T00:30:00Z | 0.5411746169982342 |
| 2023-01-01T00:40:00Z | 0.4702589287652642 |
| 2023-01-01T00:50:00Z | 1.2462130097934059 |
TAN()
返回字段值的正切。
参数
- field_expression: 用于识别一个或多个要操作的字段的表达式。 可以是一个 field key,常量或通配符 (
*)。 支持数值字段类型。
显著行为
示例
以下示例使用
随机数字样本数据。
将 TAN() 应用到一个字段
SELECT
b,
TAN(b)
FROM numbers
LIMIT 6
| 时间 | b | 正切 |
|---|
| 2023-01-01T00:00:00Z | -0.163643058925645 | -0.16511961248511045 |
| 2023-01-01T00:01:00Z | 0.137034364053949 | 0.13789861917955581 |
| 2023-01-01T00:02:00Z | -0.482943221384294 | -0.5243575352718546 |
| 2023-01-01T00:03:00Z | -0.0729732928756677 | -0.07310309943905952 |
| 2023-01-01T00:04:00Z | 1.77857552719844 | -4.743341375725582 |
| 2023-01-01T00:05:00Z | 0.741147445214238 | 0.9151958486043346 |
对每个字段应用 TAN()
SELECT TAN(*) FROM numbers LIMIT 6
| 时间 | 正切_a | 正切_b |
|---|
| 2023-01-01T00:00:00Z | 0.3527145610408791 | -0.16511961248511045 |
| 2023-01-01T00:01:00Z | -0.9793857830953787 | 0.13789861917955581 |
| 2023-01-01T00:02:00Z | -1.3160934857179802 | -0.5243575352718546 |
| 2023-01-01T00:03:00Z | -0.9109052733075013 | -0.07310309943905952 |
| 2023-01-01T00:04:00Z | -1.2757522322802637 | -4.743341375725582 |
| 2023-01-01T00:05:00Z | -1.2375438046768912 | 0.9151958486043346 |
将 TAN() 应用于时间窗口(按时间分组)
SELECT
TAN(SUM(a))
FROM numbers
WHERE
time >= '2023-01-01T00:00:00Z'
AND time < '2023-01-01T01:00:00Z'
GROUP BY time(10m)
| 时间 | 正切 |
|---|
| 2023-01-01T00:00:00Z | -2.603968631156288 |
| 2023-01-01T00:10:00Z | 3.4171098358131733 |
| 2023-01-01T00:20:00Z | 0.31117972731464494 |
| 2023-01-01T00:30:00Z | 0.30154101138968664 |
| 2023-01-01T00:40:00Z | 0.22482036866737865 |
| 2023-01-01T00:50:00Z | 56.3338223288096 |