SQL 聚合函数
SQL 聚合函数会为每个组或 SQL 分区聚合指定列中的值,并为每个组返回一个包含聚合值的单行。
通用聚合函数
- array_agg
- avg
- bit_and
- bit_or
- bit_xor
- bool_and
- bool_or
- count
- first_value
- grouping
- last_value
- max
- mean
- median
- min
- nth_value
- string_agg
- sum
array_agg
从表达式元素创建数组。
array_agg 返回 LIST Arrow 类型。使用方括号表示法引用返回数组中元素的索引。数组是从 1 开始索引的。
array_agg(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
avg
返回指定列中数值的平均值。
avg(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
别名
mean
bit_and
计算所有非空输入值的按位 AND。
bit_and(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
bit_or
计算所有非空输入值的按位 OR。
bit_or(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
bit_xor
计算所有非空输入值的按位异或。
bit_xor(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
bool_and
如果所有非空输入值均为 true,则返回 true,否则返回 false。
bool_and(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
bool_or
如果任何非空输入值为 true,则返回 true,否则返回 false。
bool_or(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
count
返回指定列中的行数。
Count 包括 null 值在内的总计数。要从总计数中排除 null 值,请在 WHERE 子句中包含 <column> IS NOT NULL。
count(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
first_value
根据指定的排序返回聚合组中的第一个元素。如果没有指定排序,则返回组中的任意元素。
first_value(expression [ORDER BY expression])参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
grouping
如果数据跨指定列进行聚合,则返回 1;如果未在结果集中进行聚合,则返回 0。
grouping(expression)参数
- expression:用于评估数据是否跨指定列进行聚合的表达式。可以是常量、列或函数。
last_value
根据指定的排序返回聚合组中的最后一个元素。如果没有指定排序,则返回组中的任意元素。
last_value(expression [ORDER BY expression])参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
max
返回指定列中的最大值。
max(expression)要同时返回最大值及其关联的时间戳,请使用 selector_max。
参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
mean
avg 的别名。
median
返回指定列中的中位数。
median(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
min
返回指定列中的最小值。
min(expression)要同时返回最小值及其关联的时间戳,请使用 selector_max。
参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
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:用于排序的表达式。可以是列或函数,以及任意算术运算符的组合。
string_agg
连接字符串表达式的值,并在它们之间放置分隔符。
string_agg(expression, delimiter)参数
- expression:要连接的字符串表达式。可以是列或任何有效的字符串表达式。
- delimiter:用作连接值之间分隔符的文字字符串。
sum
返回指定列中所有值的总和。
sum(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
统计聚合函数
- corr
- covar
- covar_pop
- covar_samp
- regr_avgx
- regr_avgy
- regr_count
- regr_intercept
- regr_r2
- regr_slope
- regr_sxx
- regr_syy
- regr_sxy
- stddev
- stddev_pop
- stddev_samp
- var
- var_pop
- var_population
- var_samp
- var_sample
corr
返回两个数值之间的相关系数。
corr(expression1, expression2)参数
- expression1:要操作的第一个列或文字值。
- expression2:要操作的第二个列或文字值。
covar
返回一组数值对的协方差。
covar(expression1, expression2)参数
- expression1:要操作的第一个列或文字值。
- expression2:要操作的第二个列或文字值。
covar_pop
返回一组数值对的总体协方差。
covar_pop(expression1, expression2)参数
- expression1:要操作的第一个列或文字值。
- expression2:要操作的第二个列或文字值。
covar_samp
返回一组数值对的样本协方差。
covar_samp(expression1, expression2)参数
- expression1:要操作的第一个列或文字值。
- expression2:要操作的第二个列或文字值。
regr_avgx
计算非空因变量 expression_y 的自变量(输入)expression_x 的平均值。
regr_avgx(expression_y, expression_x)参数
- expression_y:因变量。可以是常量、列或函数,以及任意算术运算符的组合。
- expression_x:自变量。可以是常量、列或函数,以及任意算术运算符的组合。
regr_avgy
计算非空因变量 expression_y 的因变量(输出)expression_y 的平均值。
regr_avgy(expression_y, expression_x)参数
- expression_y:因变量。可以是常量、列或函数,以及任意算术运算符的组合。
- expression_x:自变量。可以是常量、列或函数,以及任意算术运算符的组合。
regr_count
计算非空配对数据的数量。
regr_count(expression_y, expression_x)参数
- expression_y:因变量。可以是常量、列或函数,以及任意算术运算符的组合。
- expression_x:自变量。可以是常量、列或函数,以及任意算术运算符的组合。
regr_intercept
计算线性回归线的 y 截距。对于方程 (y = kx + b),此函数返回 b。
regr_intercept(expression_y, expression_x)参数
- expression_y:因变量。可以是常量、列或函数,以及任意算术运算符的组合。
- expression_x:自变量。可以是常量、列或函数,以及任意算术运算符的组合。
regr_r2
计算自变量和因变量之间的相关系数的平方。
regr_r2(expression_y, expression_x)参数
- expression_y:因变量。可以是常量、列或函数,以及任意算术运算符的组合。
- expression_x:自变量。可以是常量、列或函数,以及任意算术运算符的组合。
regr_slope
返回聚合列中非空对的线性回归线的斜率。给定输入列 Y 和 X:regr_slope(Y, X) 使用最小 RSS 拟合返回斜率(Y = k*X + b 中的 k)。
regr_slope(expression_y, expression_x)参数
- expression_y:要操作的 Y 表达式。可以是常量、列或函数,以及任意算术运算符的组合。
- expression_x:要操作的 X 表达式。可以是常量、列或函数,以及任意算术运算符的组合。
regr_sxx
计算自变量的平方和。
regr_sxx(expression_y, expression_x)参数
- expression_y:因变量。可以是常量、列或函数,以及任意算术运算符的组合。
- expression_x:自变量。可以是常量、列或函数,以及任意算术运算符的组合。
regr_syy
计算因变量的平方和。
regr_syy(expression_y, expression_x)参数
- expression_y:因变量。可以是常量、列或函数,以及任意算术运算符的组合。
- expression_x:自变量。可以是常量、列或函数,以及任意算术运算符的组合。
regr_sxy
计算配对数据点的乘积和。
regr_sxy(expression_y, expression_x)参数
- expression_y:因变量。可以是常量、列或函数,以及任意算术运算符的组合。
- expression_x:自变量。可以是常量、列或函数,以及任意算术运算符的组合。
stddev
返回一组数字的标准差。
stddev(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
stddev_pop
返回一组数字的总体标准差。
stddev_pop(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
stddev_samp
返回一组数字的样本标准差。
stddev_samp(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
var
返回一组数字的统计方差。
var(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
var_pop
返回一组数字的统计总体方差。
var_pop(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
别名
- var_population
var_population
var_pop 的别名。
var_samp
返回一组数字的统计样本方差。
var_samp(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
别名
- var_sample
var_sample
var_samp 的别名。
近似聚合函数
approx_distinct
使用 HyperLogLog 算法计算不同输入值的近似数量。
approx_distinct(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
approx_median
返回输入值的近似中位数(第 50 百分位数)。它是 approx_percentile_cont(0.5) WITHIN GROUP (ORDER BY expression) 的别名。
approx_median(expression)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
approx_percentile_cont
使用 t-digest 算法返回输入值的近似百分比。
approx_percentile_cont(percentile [, centroids]) WITHIN GROUP (ORDER BY expression)
-- OR
approx_percentile_cont(expression, percentile, centroids)参数
percentile:要计算的百分比。必须是介于 0 和 1(含)之间的浮点值。
centroids:t-digest 算法中要使用的质心数量。默认值为 100。较高的数值会提高近似精度,但需要更多内存。
expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
如果唯一值的数量等于或少于此数量,则可以预期获得精确结果。质心数量越多,近似越精确,但计算所需的内存也越多。
approx_percentile_cont_with_weight
使用 t-digest 算法返回输入值的加权近似百分比。
approx_percentile_cont_with_weight(weight, percentile [, centroids]) WITHIN GROUP (ORDER BY expression)
-- OR
approx_percentile_cont_with_weight(expression, weight, percentile)参数
- expression:要操作的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
- weight:要用作权重的表达式。可以是常量、列或函数,以及任意算术运算符的组合。
- percentile:要计算的百分比。必须是介于 0 和 1(含)之间的浮点值。
- centroids:t-digest 算法中要使用的质心数量。默认值为 100。较高的数值会提高近似精度,但需要更多内存。
此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。