文档文档

SQL 聚合函数

InfluxDB 3 Core 处于 Public Alpha 阶段

InfluxDB 3 Core 处于公测 alpha 阶段,可用于测试和反馈,但不适用于生产环境。产品和本文档都在不断完善中。我们欢迎并鼓励您提供关于 alpha 体验的意见,并邀请您加入我们的公共频道以获取更新和分享反馈。

Alpha 预期和建议

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


通用聚合函数

array_agg

返回从表达式元素创建的数组。

array_agg 返回 InfluxDB 不支持的 LIST arrow 类型。要与 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

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

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

返回指定列中的行数。

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_y 的自变量(输入)expression_x 的平均值。

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

查看 regr_avgx 查询示例

regr_avgy

计算非空因变量 expression_y 的因变量(输出)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 轴截距。对于方程 (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

返回聚合列中非空对的线性回归线的斜率。给定输入列 YX: regr_slope(Y, X) 使用最小 RSS 拟合返回斜率(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 之间的浮点值(包含 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: 要操作的表达式。可以是常量、列或函数,以及算术运算符的任意组合。
  • weight: 用作权重的表达式。可以是常量、列或函数,以及算术运算符的任意组合。
  • percentile: 要计算的百分位数。必须是介于 0 和 1 之间的浮点值(包含 0 和 1)。

查看 approx_percentile_cont_with_weight 查询示例


此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像当前一样使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已公测 Alpha

InfluxDB 3 开源版本现已可用于 alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 alpha 版本的一部分。

InfluxDB 3 Core 是我们新的开源产品。它是一个用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、读取副本、高可用性、可扩展性和细粒度的安全性。

有关如何开始使用的更多信息,请查看