文档

SQL聚合函数

SQL聚合函数针对每个组或SQL分区中指定列的值进行聚合,并为每个组返回包含聚合值的单行。


通用聚合函数

array_agg

从表达式元素创建数组。

array_agg 返回一个 LIST 类型,InfluxDB 不支持。要使用 InfluxDB,请使用方括号引用返回数组中元素的索引。数组是1索引。

array_agg(expression)

参数

  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 array_agg 查询示例

avg

返回指定列中数值的平均值。

avg(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。
别名
  • mean

查看 avg 查询示例

bit_and

计算所有非空输入值的按位 AND

bit_and(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 bit_and 查询示例

bit_or

计算所有非空输入值的按位 OR。

bit_or(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 bit_or 查询示例

bit_xor

计算所有非空输入值的按位异或(XOR)。

bit_xor(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 bit_xor 查询示例

bool_and

如果所有非空输入值都是 true,则返回 true,否则返回 false

bool_and(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 bool_and 查询示例

bool_or

如果任何非空输入值是 true,则返回 true,否则返回 false

bool_or(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 bool_or 查询示例

count

返回指定列中的行数。

计数包括 null 值。要从总数中排除 null 值,请在 WHERE 子句中包含 <column> IS NOT NULL

count(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 count 查询示例

first_value

根据指定的排序返回聚合组中的第一个元素。如果没有指定排序,则返回组中的任意元素。

first_value(expression [ORDER BY expression])
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 first_value 查询示例

last_value

根据指定的排序返回聚合组中的最后一个元素。如果没有指定排序,则返回组中的任意元素。

last_value(expression [ORDER BY expression])
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 last_value 查询示例

max

返回指定列中的最大值。

max(expression)

要返回最大值及其关联的时间戳,请使用 selector_max

参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 max 查询示例

mean

avg 的别名。

median

返回指定列中的中值。

median(expression)

参数

  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 median 查询示例

min

返回指定列中的最小值。

min(expression)

要返回最小值及其关联的时间戳,请使用 selector_max

参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 min 查询示例

sum

返回指定列中所有值的总和。

sum(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 sum 查询示例

统计聚合函数

corr

返回两个数值之间的相关系数。

corr(expression1, expression2)
参数
  • expression1:要操作的第一个列或文字值。
  • expression2:要操作的第二个列或文字值。

查看 corr 查询示例

covar

返回一组数字对的协方差。

covar(expression1, expression2)
参数
  • expression1:要操作的第一个列或文字值。
  • expression2:要操作的第二个列或文字值。

查看 covar 查询示例

covar_pop

返回一组数字对的总体协方差。

covar_pop(expression1, expression2)
参数
  • expression1:要操作的第一个列或文字值。
  • expression2:要操作的第二个列或文字值。

查看 covar_pop 查询示例

covar_samp

返回一组数字对的样本协方差。

covar_samp(expression1, expression2)
参数
  • expression1:要操作的第一个列或文字值。
  • expression2:要操作的第二个列或文字值。

查看 covar_samp 查询示例

regr_avgx

计算自变量(输入)expression_x 的平均值,其中 expression_y 为非空因变量。

regr_avgx(expression_y, expression_x)
参数
  • expression_y:因变量。可以是常数、列或函数,以及任意组合的算术运算符。
  • expression_x:自变量。可以是常数、列或函数,以及任意组合的算术运算符。

查看 regr_avgx 查询示例

regr_avgy

计算非空因变量(输出)expression_y 的平均值。

regr_avgy(expression_y, expression_x)
参数
  • expression_y:因变量。可以是常数、列或函数,以及任意组合的算术运算符。
  • expression_x:自变量。可以是常数、列或函数,以及任意组合的算术运算符。

查看 regr_avgy 查询示例

regr_count

计算非空配对数据点的数量。

regr_count(expression_y, expression_x)
参数
  • expression_y:因变量。可以是常数、列或函数,以及任意组合的算术运算符。
  • expression_x:自变量。可以是常数、列或函数,以及任意组合的算术运算符。

查看 regr_count 查询示例

regr_intercept

计算线性回归线的截距。对于方程 (y = kx + b),此函数返回 b

regr_intercept(expression_y, expression_x)
参数
  • expression_y:因变量。可以是常数、列或函数,以及任意组合的算术运算符。
  • expression_x:自变量。可以是常数、列或函数,以及任意组合的算术运算符。

查看 regr_intercept 查询示例

regr_r2

计算自变量和因变量之间相关系数的平方。

regr_r2(expression_y, expression_x)
参数
  • expression_y:因变量。可以是常数、列或函数,以及任意组合的算术运算符。
  • expression_x:自变量。可以是常数、列或函数,以及任意组合的算术运算符。

查看 regr_r2 查询示例

regr_slope

返回非空对在聚合列中的线性回归线的斜率。给定输入列 YXregr_slope(Y, X) 返回斜率(Y = k*X + b 中的 k)使用最小均方误差拟合。

regr_slope(expression_y, expression_x)
参数
  • expression_y:要操作的 Y 表达式。可以是常数、列或函数,以及任意组合的算术运算符。
  • expression_x:要操作的 X 表达式。可以是常数、列或函数,以及任意组合的算术运算符。

查看 regr_slope 查询示例

regr_sxx

计算自变量的平方和。

regr_sxx(expression_y, expression_x)
参数
  • expression_y:因变量。可以是常数、列或函数,以及任意组合的算术运算符。
  • expression_x:自变量。可以是常数、列或函数,以及任意组合的算术运算符。

查看 regr_sxx 查询示例

regr_syy

计算因变量的平方和。

regr_syy(expression_y, expression_x)
参数
  • expression_y:因变量。可以是常数、列或函数,以及任意组合的算术运算符。
  • expression_x:自变量。可以是常数、列或函数,以及任意组合的算术运算符。

查看 regr_syy 查询示例

regr_sxy

计算配对数据点的乘积之和。

regr_sxy(expression_y, expression_x)

参数

  • expression_y:因变量。可以是常数、列或函数,以及任意组合的算术运算符。
  • expression_x:自变量。可以是常数、列或函数,以及任意组合的算术运算符。

查看 regr_sxy 查询示例

stddev

返回一组数字的标准差。

stddev(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 stddev 查询示例

stddev_pop

返回一组数字的总体标准差。

stddev_pop(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 stddev_pop 查询示例

stddev_samp

返回一组数字的样本标准差。

stddev_samp(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 stddev_samp 查询示例

var

返回一组数字的统计方差。

var(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 var 查询示例

var_pop

返回一组数字的统计总体方差。

var_pop(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 var_pop 查询示例

var_samp

返回一组数字的统计样本方差。

var_samp(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 var_samp 查询示例

近似聚合函数

approx_distinct

返回使用 HyperLogLog 算法计算的近似不同输入值的数量。

approx_distinct(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 approx_distinct 查询示例

approx_median

返回输入值的近似中位数(第50百分位数)。它是 approx_percentile_cont(x, 0.5) 的别名。

approx_median(expression)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

查看 approx_median 查询示例

approx_percentile_cont

使用 t-digest 算法返回输入值的近似百分位数。

approx_percentile_cont(expression, percentile, centroids)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。

  • percentile:要计算的百分位数。必须是介于 0 和 1(含)之间的浮点值。

  • centroids:在 t-digest 算法中使用的中心点数量。默认为 100。

    如果有这个数量或更少的唯一值,您可以得到精确的结果。更多的中心点数量会导致更精确的近似,但需要更多的内存来计算。

查看 approx_percentile_cont 查询示例

approx_percentile_cont_with_weight

使用 t-digest 算法返回输入值的加权近似百分位数。

approx_percentile_cont_with_weight(expression, weight, percentile)
参数
  • expression:要操作的表达式。可以是常量、列或函数,以及任何算术运算符的组合。
  • 权重:用作权重的表达式。可以是常数、列或函数,以及任意组合的算术运算符。
  • percentile:要计算的百分位数。必须是介于 0 和 1(含)之间的浮点值。

查看 approx_percentile_cont_with_weight 查询示例


这个页面有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 正在进入维护模式。您可以在不更改代码的情况下继续按当前方式使用它。

阅读更多

InfluxDB v3 增强功能和 InfluxDB Clustered 现已正式发布

新功能包括更快的查询性能和管理工具,推动了 InfluxDB v3 产品线的进步。InfluxDB Clustered 现已正式发布。

InfluxDB v3 性能和功能

InfluxDB v3 产品线在查询性能方面取得了重大提升,并提供了新的管理工具。这些增强包括用于监控 InfluxDB 集群健康状况的操作仪表板、InfluxDB Cloud Dedicated 中的单点登录 (SSO) 支持,以及用于令牌和数据库的新管理 API。

了解新的 v3 增强功能


InfluxDB Clustered 正式发布

InfluxDB Clustered 现已正式发布,并为您在自管理堆栈中提供了 InfluxDB v3 的功能。

与我们谈谈 InfluxDB Clustered