InfluxQL转换函数
InfluxQL转换函数修改并返回查询数据中每一行的值。
- ABS()
- ACOS()
- ASIN()
- ATAN()
- ATAN2()
- CEIL()
- COS()
- CUMULATIVE_SUM()
- DERIVATIVE()
- DIFFERENCE()
- ELAPSED()
- EXP()
- FLOOR()
- LN()
- LOG()
- LOG2()
- LOG10()
- MOVING_AVERAGE()
- NON_NEGATIVE_DERIVATIVE()
- NON_NEGATIVE_DIFFERENCE()
- POW()
- ROUND()
- SIN()
- SQRT()
- TAN()
缺少的InfluxQL函数
一些InfluxQL函数正在重构以与InfluxDB 3.0存储引擎一起使用。如果您需要的函数不在列表中,请检查InfluxQL功能支持页面以获取更多信息。
转换函数的显著行为
必须在使用时间分组时使用聚合或选择器函数
大多数转换函数支持按标签分组的GROUP BY
子句,但不直接支持按时间分组的GROUP BY
子句。要使用带有GROUP BY time()
子句的转换函数,将聚合或选择器函数应用于field_expression参数。转换操作在聚合或选择器操作的结果上执行。
ABS()
返回字段值的绝对值。
ABS(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
对一个字段应用ABS()
SELECT
a,
ABS(a)
FROM numbers
LIMIT 6
name: numbers
time | a | abs |
---|---|---|
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
name: numbers
time | abs_a | abs_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)
name: numbers
time | abs |
---|---|
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之间。
ACOS(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
对一个字段应用ACOS()
SELECT
a,
ACOS(a)
FROM numbers
LIMIT 6
name: numbers
time | a | acos |
---|---|---|
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
name: numbers
time | 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)
name: numbers
time | acos |
---|---|
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 之间。
ASIN(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
对一个字段应用 ASIN()
SELECT
a,
ASIN(a)
FROM numbers
LIMIT 6
name: numbers
time | 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
name: numbers
time | 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)
name: numbers
time | asin |
---|---|
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()
返回字段值的反正切(以弧度为单位)。
ATAN(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
对一个字段应用 ATAN()
SELECT
a,
ATAN(a)
FROM numbers
LIMIT 6
name: numbers
time | a | atan |
---|---|---|
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
name: numbers
time | atan_a | atan_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)
name: numbers
time | atan |
---|---|
2023-01-01T00:00:00Z | -0.4099506966510045 |
2023-01-01T00:10:00Z | 0.1279079463727065 |
2023-01-01T00: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
数值或要操作的 一个或多个字段的表达式。可以是数字字面量、字段键、常量或通配符(*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
对另一个字段除以一个字段应用 ATAN2()
SELECT ATAN2(a, b) FROM numbers LIMIT 6
name: numbers
time | atan2 |
---|---|
2023-01-01T00:00:00Z | 2.0204217911794937 |
2023-01-01T00:01:00Z | -1.395783190047229 |
2023-01-01T00:02:00Z | -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
name: numbers
time | 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)
name: numbers
time | 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 |
CEIL()
返回向上取整到最接近整数的后续值。
CEIL(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
对一个字段应用 CEIL()
SELECT
b,
CEIL(b)
FROM numbers
LIMIT 6
name: numbers
time | b | ceil |
---|---|---|
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 |
COS()
返回字段值的余弦。
COS(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
对一个字段应用 COS()
SELECT
b,
COS(b)
FROM numbers
LIMIT 6
name: numbers
time | b | cos |
---|---|---|
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
name: numbers
time | cos_a | cos_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)
name: numbers
time | cos |
---|---|
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()
返回后续 字段值 的累积总和。
CUMULATIVE_SUM(field_expression)
参数
- field_expression:用于标识要操作的一个或多个字段的表达式。可以是 字段键、常量、正则表达式或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
对一个字段应用 CUMULATIVE_SUM()
SELECT CUMULATIVE_SUM(b) FROM numbers LIMIT 6
name: numbers
time | cumulative_sum |
---|---|
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
name: numbers
time | cumulative_sum_a | cumulative_sum_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
name: numbers
time | cumulative_sum_a | cumulative_sum_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)
name: numbers
time | cumulative_sum |
---|---|
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-01T00:40:00Z | -7.904410787756402 |
2023-01-01T00:50:00Z | -6.795080184131271 |
DERIVATIVE()
返回后续 字段值 之间每 unit
的变化率。
SELECT DERIVATIVE(field_expression[, unit])
参数
- field_expression:用于标识要操作的一个或多个字段的表达式。可以是 字段键、常量、正则表达式或通配符(
*
)。支持数值字段类型。 - unit:用于计算变化率的单位时间。支持 持续时间字面量。默认为
1s
(每秒)。
显著行为
相关函数
示例
以下示例使用随机数字样本数据。
对一个字段应用 DERIVATIVE()
以计算每秒的变化
SELECT DERIVATIVE(b) FROM numbers LIMIT 6
name: numbers
time | derivative |
---|---|
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
name: numbers
time | derivative |
---|---|
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-01-01T00:05:00Z | -5.187140409921009 |
2023-01-01T00:06:00Z | -2.26736721151909 |
对每个字段应用 DERIVATIVE()
SELECT DERIVATIVE(*) FROM numbers LIMIT 6
name: numbers
time | derivative_a | derivative_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
name: numbers
time | derivative_a | derivative_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)
name: numbers
time | derivative |
---|---|
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()
返回后续 字段值 之间的减法结果。
DIFFERENCE(field_expression)
参数
- field_expression:用于标识要操作的一个或多个字段的表达式。可以是 字段键、常量、正则表达式或通配符(
*
)。支持数值字段类型。
显著行为
相关函数
示例
以下示例使用随机数字样本数据。
将 DIFFERENCE()
应用到一个字段
SELECT DIFFERENCE(b) FROM numbers LIMIT 6
name: numbers
time | 差异 |
---|---|
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
name: numbers
time | 差异_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
name: numbers
time | 差异_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)
name: numbers
time | 差异 |
---|---|
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()
返回指定 unit
时间单位内后续 字段值的时间戳 之间的差异。
ELAPSED(field_expression[, unit ])
参数
- field_expression:识别一个或多个操作字段的表达式。可以是 字段键、常量、正则表达式或通配符(
*
)。支持所有字段类型。 - unit:返回经过时间的单位。支持 持续时间字面量。默认为
1ns
(纳秒)。
显著行为
- 如果
unit
大于点之间的经过时间,则ELAPSED()
返回0
。 ELAPSED()
支持带有GROUP BY time()
子句的查询,但查询结果并不很有用。带有嵌套函数和GROUP BY time()
子句的ELAPSED()
查询返回GROUP BY time()
子句中指定的间隔。
示例
以下示例使用随机数字样本数据。
将 ELAPSED()
应用到一个字段并返回纳秒内的经过时间
SELECT ELAPSED(b) FROM numbers LIMIT 6
name: numbers
time | 经过时间 |
---|---|
2023-01-01T00:01:00Z | 60000000000 |
2023-01-01T00:02:00Z | 60000000000 |
2023-01-01T00:03:00Z | 60000000000 |
2023-01-01T00:04:00Z | 60000000000 |
2023-01-01T00:05:00Z | 60000000000 |
2023-01-01T00:06:00Z | 60000000000 |
将 ELAPSED()
应用到一个字段并返回秒内的经过时间
SELECT ELAPSED(b, 1s) FROM numbers LIMIT 6
name: numbers
time | 经过时间 |
---|---|
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
name: numbers
time | 经过时间_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 |
EXP()
返回字段值的指数。
EXP(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
将 EXP()
应用到一个字段
SELECT
a,
EXP(a)
FROM numbers
LIMIT 6
name: numbers
time | a | exp |
---|---|---|
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
name: numbers
time | exp_a | exp_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)
name: numbers
time | exp |
---|---|
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 |
FLOOR()
返回向下取整到最接近整数的后续值。
FLOOR(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
将 FLOOR()
应用到一个字段
SELECT
b,
FLOOR(b)
FROM numbers
LIMIT 6
name: numbers
time | b | floor |
---|---|---|
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 |
LN()
返回字段值的自然对数。字段值必须大于或等于 0。
LN(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
将 LN()
应用到一个字段
SELECT
b,
LN(b)
FROM numbers
LIMIT 6
name: numbers
time | b | ln |
---|---|---|
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
name: numbers
time | 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)
name: numbers
time | ln |
---|---|
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 |
LOG()
返回以 b
为底的字段值的对数。字段值必须大于或等于 0。
LOG(field_expression, b)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。 - b:在操作中使用的对数底。
显著行为
示例
以下示例使用随机数字样本数据。
将 LOG()
应用到一个以 3 为底的字段
SELECT
b,
LOG(b, 3)
FROM numbers
LIMIT 6
name: numbers
time | b | log |
---|---|---|
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
name: numbers
time | log_a | log_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)
name: numbers
time | log |
---|---|
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 |
LOG2()
返回字段值以 2 为底的对数。字段值必须大于或等于 0。
LOG2(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
将 LOG2()
应用到一个字段
SELECT
b,
LOG2(b)
FROM numbers
LIMIT 6
name: numbers
time | 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
name: numbers
time | 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)
name: numbers
time | log2 |
---|---|
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。
LOG10(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
将 LOG10()
应用到字段
SELECT
b,
LOG10(b)
FROM numbers
LIMIT 6
name: numbers
time | 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
name: numbers
time | 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)
name: numbers
time | log10 |
---|---|
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()
返回后续 字段值 窗口内的滚动平均值。
MOVING_AVERAGE(field_expression, N)
参数
- field_expression:识别一个或多个操作字段的表达式。可以是 字段键、常量、正则表达式或通配符(
*
)。支持所有字段类型。 - N:在计算移动平均值时使用的字段值数量。
显著行为
示例
以下示例使用随机数字样本数据。
将 MOVING_AVERAGE()
应用到字段
SELECT MOVING_AVERAGE(a, 3) FROM numbers LIMIT 6
name: numbers
time | moving_average |
---|---|
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
name: numbers
time | moving_average_a | moving_average_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-01T00:07:00Z | -0.3569778402485757 | 0.15985821845558748 |
将 MOVING_AVERAGE()
应用到匹配正则表达式的字段键
SELECT MOVING_AVERAGE(/[ab]/, 3) FROM numbers LIMIT 6
name: numbers
time | moving_average_a | moving_average_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-01T00:07:00Z | -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)
name: numbers
time | moving_average |
---|---|
2023-01-01T00:20:00Z | -0.9193144769987766 |
2023-01-01T00:30:00Z | 0.626884141339178 |
2023-01-01T00:40:00Z | 0.27189834404638374 |
2023-01-01T00:50:00Z | 0.6890200973149928 |
NON_NEGATIVE_DERIVATIVE()
仅返回后续 字段值 之间的非负变化率。负变化率返回 null。
NON_NEGATIVE_DERIVATIVE(field_expression[, unit])
参数
- field_expression:用于标识要操作的一个或多个字段的表达式。可以是 字段键、常量、正则表达式或通配符(
*
)。支持数值字段类型。 - unit:用于计算变化率的单位时间。支持 持续时间字面量。默认为
1s
(每秒)。
显著行为
相关函数
示例
以下示例使用随机数字样本数据。
将 NON_NEGATIVE_DERIVATIVE()
应用到字段以计算每秒变化
SELECT NON_NEGATIVE_DERIVATIVE(b) FROM numbers LIMIT 6
name: numbers
time | non_negative_derivative |
---|---|
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
name: numbers
time | non_negative_derivative |
---|---|
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
name: numbers
time | non_negative_derivative_a | non_negative_derivative_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
name: numbers
time | non_negative_derivative_a | non_negative_derivative_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)
name: numbers
time | non_negative_derivative |
---|---|
2023-01-01T00:20:00Z | 0.010434324849926194 |
2023-01-01T00:40:00Z | 0.05657514203880348 |
2023-01-01T00:50:00Z | 0.021317362457152655 |
NON_NEGATIVE_DIFFERENCE()
仅返回后续 字段值 之间的非负减法结果。负差值返回 null。
NON_NEGATIVE_DIFFERENCE(field_expression)
参数
- field_expression:用于标识要操作的一个或多个字段的表达式。可以是 字段键、常量、正则表达式或通配符(
*
)。支持数值字段类型。
显著行为
相关函数
示例
以下示例使用随机数字样本数据。
将 NON_NEGATIVE_DIFFERENCE()
应用到字段
SELECT NON_NEGATIVE_DIFFERENCE(b) FROM numbers LIMIT 6
name: numbers
time | non_negative_difference |
---|---|
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
name: numbers
time | non_negative_difference_a | non_negative_difference_b |
---|---|---|
2023-01-01T00: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
name: numbers
time | non_negative_difference_a | non_negative_difference_b |
---|---|---|
2023-01-01T00: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)
name: numbers
time | non_negative_difference |
---|---|
2023-01-01T00:20:00Z | 0.10434324849926194 |
2023-01-01T00:40:00Z | 0.5657514203880348 |
2023-01-01T00:50:00Z | 0.21317362457152655 |
POW()
返回字段值对 x
的幂。
POW(field_expression, x)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。 - x:要提升的幂。
显著行为
示例
以下示例使用随机数字样本数据。
将 POW()
应用到以3为幂的字段
SELECT
b,
POW(b, 3)
FROM numbers
LIMIT 6
name: numbers
time | b | pow |
---|---|---|
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
name: numbers
time | pow_a | pow_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)
name: numbers
time | pow |
---|---|
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 |
ROUND()
返回四舍五入到最接近整数的字段值。
ROUND(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
将 ROUND()
应用到字段
SELECT
b,
ROUND(b)
FROM numbers
LIMIT 6
name: numbers
time | b | round |
---|---|---|
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 |
SIN()
返回字段值的正弦值。
SIN(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
将 SIN()
应用到字段
SELECT
b,
SIN(b)
FROM numbers
LIMIT 6
name: numbers
time | b | sin |
---|---|---|
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
name: numbers
time | sin_a | sin_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)
name: numbers
time | sin |
---|---|
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。负字段值返回null。
SQRT(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
将 SQRT()
应用于字段
SELECT
b,
SQRT(b)
FROM numbers
LIMIT 6
name: numbers
time | b | sqrt |
---|---|---|
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
name: numbers
time | sqrt_a | sqrt_b |
---|---|---|
2023-01-01T00: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)
name: numbers
time | sqrt |
---|---|
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()
返回字段值的正切值。
TAN(field_expression)
参数
- field_expression:用于操作一个或多个字段的表达式。可以是字段键、常量或通配符(
*
)。支持数值字段类型。
显著行为
示例
以下示例使用随机数字样本数据。
将 TAN()
应用于字段
SELECT
b,
TAN(b)
FROM numbers
LIMIT 6
name: numbers
time | b | tan |
---|---|---|
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
name: numbers
time | tan_a | tan_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)
name: numbers
time | tan |
---|---|
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 |
这个页面有帮助吗?
感谢您的反馈!