SQL aggregate functions
SQL aggregate functions aggregate values in a specified column for each group or SQL partition and return a single row per group containing the aggregate value.
General aggregate functions
array_agg
Returns an array created from the expression elements.
array_agg
returns a LIST
arrow type which is not supported by InfluxDB.
To use with InfluxDB, use bracket notation to reference the index of an element
in the returned array. Arrays are 1-indexed.
array_agg(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
avg
Returns the average of numeric values in the specified column.
avg(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
Aliases
mean
bit_and
Computes the bitwise AND
of all non-null input values.
bit_and(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
bit_or
Computes the bitwise OR of all non-null input values.
bit_or(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
bit_xor
Computes the bitwise exclusive OR of all non-null input values.
bit_xor(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
bool_and
Returns true
if all non-null input values are true
, otherwise returns false
.
bool_and(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
bool_or
Returns true
if any non-null input value is true
, otherwise returns false
.
bool_or(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
count
Returns the number of rows in the specified column.
Count includes null values in the total count.
To exclude null values from the total count, include <column> IS NOT NULL
in the WHERE
clause.
count(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
first_value
Returns the first element in an aggregation group according to the specified ordering. If no ordering is specified, returns an arbitrary element from the group.
first_value(expression [ORDER BY expression])
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
last_value
Returns the last element in an aggregation group according to the specified ordering. If no ordering is specified, returns an arbitrary element from the group.
last_value(expression [ORDER BY expression])
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
max
Returns the maximum value in the specified column.
max(expression)
To return both the maximum value and its associated timestamp, use
selector_max
.
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
mean
Alias of avg.
median
Returns the median value in the specified column.
median(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
min
Returns the minimum value in the specified column.
min(expression)
To return both the minimum value and its associated timestamp, use
selector_max
.
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
sum
Returns the sum of all values in the specified column.
sum(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
Statistical aggregate functions
- 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_samp
corr
Returns the coefficient of correlation between two numeric values.
corr(expression1, expression2)
Arguments
- expression1: First column or literal value to operate on.
- expression2: Second column or literal value to operate on.
covar
Returns the covariance of a set of number pairs.
covar(expression1, expression2)
Arguments
- expression1: First column or literal value to operate on.
- expression2: Second column or literal value to operate on.
covar_pop
Returns the population covariance of a set of number pairs.
covar_pop(expression1, expression2)
Arguments
- expression1: First column or literal value to operate on.
- expression2: Second column or literal value to operate on.
covar_samp
Returns the sample covariance of a set of number pairs.
covar_samp(expression1, expression2)
Arguments
- expression1: First column or literal value to operate on.
- expression2: Second column or literal value to operate on.
regr_avgx
Computes the average of the independent variable (input), expression_x
, for the
non-null dependent variable, expression_y
.
regr_avgx(expression_y, expression_x)
Arguments
- expression_y: Dependent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
- expression_x: Independent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
regr_avgy
Computes the average of the dependent variable (output), expression_y
, for the
non-null dependent variable, expression_y
.
regr_avgy(expression_y, expression_x)
Arguments
- expression_y: Dependent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
- expression_x: Independent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
regr_count
Counts the number of non-null paired data points.
regr_count(expression_y, expression_x)
Arguments
- expression_y: Dependent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
- expression_x: Independent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
regr_intercept
Computes the y-intercept of the linear regression line.
For the equation (y = kx + b)
, this function returns b
.
regr_intercept(expression_y, expression_x)
Arguments
- expression_y: Dependent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
- expression_x: Independent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
regr_r2
Computes the square of the correlation coefficient between the independent and dependent variables.
regr_r2(expression_y, expression_x)
Arguments
- expression_y: Dependent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
- expression_x: Independent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
regr_slope
Returns the slope of the linear regression line for non-null pairs in aggregate columns.
Given input column Y
and X
: regr_slope(Y, X)
returns the slope
(k
in Y = k*X + b
) using minimal RSS fitting.
regr_slope(expression_y, expression_x)
Arguments
- expression_y: Y expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
- expression_x: X expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
regr_sxx
Computes the sum of squares of the independent variable.
regr_sxx(expression_y, expression_x)
Arguments
- expression_y: Dependent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
- expression_x: Independent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
regr_syy
Computes the sum of squares of the dependent variable.
regr_syy(expression_y, expression_x)
Arguments
- expression_y: Dependent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
- expression_x: Independent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
regr_sxy
Computes the sum of products of paired data points.
regr_sxy(expression_y, expression_x)
Arguments
- expression_y: Dependent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
- expression_x: Independent variable. Can be a constant, column, or function, and any combination of arithmetic operators.
stddev
Returns the standard deviation of a set of numbers.
stddev(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
stddev_pop
Returns the population standard deviation of a set of numbers.
stddev_pop(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
stddev_samp
Returns the sample standard deviation of a set of numbers.
stddev_samp(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
var
Returns the statistical variance of a set of numbers.
var(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
var_pop
Returns the statistical population variance of a set of numbers.
var_pop(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
var_samp
Returns the statistical sample variance of a set of numbers.
var_samp(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
Approximate aggregate functions
approx_distinct
Returns the approximate number of distinct input values calculated using the HyperLogLog algorithm.
approx_distinct(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
approx_median
Returns the approximate median (50th percentile) of input values.
It is an alias of approx_percentile_cont(x, 0.5)
.
approx_median(expression)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
approx_percentile_cont
Returns the approximate percentile of input values using the t-digest algorithm.
approx_percentile_cont(expression, percentile, centroids)
Arguments
expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
percentile: Percentile to compute. Must be a float value between 0 and 1 (inclusive).
centroids: Number of centroids to use in the t-digest algorithm. Default is 100.
If there are this number or fewer unique values, you can expect an exact result. A higher number of centroids results in a more accurate approximation, but requires more memory to compute.
approx_percentile_cont_with_weight
Returns the weighted approximate percentile of input values using the t-digest algorithm.
approx_percentile_cont_with_weight(expression, weight, percentile)
Arguments
- expression: Expression to operate on. Can be a constant, column, or function, and any combination of arithmetic operators.
- weight: Expression to use as weight. Can be a constant, column, or function, and any combination of arithmetic operators.
- percentile: Percentile to compute. Must be a float value between 0 and 1 (inclusive).
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.