文档文档

SQL 聚合函数

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


通用聚合函数

array_agg

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

array_agg 返回 LIST Arrow 类型。使用方括号表示法来引用返回数组中元素的索引。数组从 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 包括总计数中的值。要从总计数中排除值,请在 WHERE 子句中包含 <column> IS NOT NULL

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

查看 count 查询示例

first_value

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

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

查看 first_value 查询示例

grouping

如果数据跨指定列聚合,则返回 1,否则如果未在结果集中聚合,则返回 0。

grouping(expression)
参数
  • expression: 用于评估数据是否跨指定列聚合的表达式。可以是常量、列或函数。

查看 grouping 查询示例

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 查询示例

nth_value

返回一组值中的第 n 个值。

nth_value(expression, n [ORDER BY order_expression_1, ... order_expression_n])
参数
  • expression: 要从中检索第 n 个值的列或表达式。
  • n: 要检索的值的位置(第 n 个),基于排序。
  • order_expression_1, … order_expression_n: 要排序的表达式。可以是列或函数,以及算术运算符的任意组合。

查看 nth_value 查询示例

string_agg

连接字符串表达式的值,并在它们之间放置分隔符值。

string_agg(expression, delimiter)
参数
  • expression: 要连接的字符串表达式。可以是列或任何有效的字符串表达式。
  • delimiter: 用作连接值之间分隔符的文字字符串。

查看 string_agg 查询示例

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_population

查看 var_pop 查询示例

var_population

别名:var_pop

var_samp

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

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

查看 var_samp 查询示例

var_sample

别名: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 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近实时数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建于 Core 的基础上,增加了高可用性、只读副本、增强的安全性以及数据压缩功能,以实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层级可供非商业家庭或业余爱好者使用。

有关更多信息,请查看