docs-v2/content/shared/sql-reference/functions/aggregate.md

36 KiB

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.

[!Note] array_agg returns a LIST arrow type. 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.

{{< expand-wrapper >}} {{% expand "View array_agg query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  array_agg(temp)[3] AS '3rd_temp'
FROM home
GROUP BY room
room 3rd_temp
Kitchen 22.7
Living Room 21.8

{{% /expand %}} {{< /expand-wrapper >}}

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

{{< expand-wrapper >}} {{% expand "View avg query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  avg(precip) AS avg_precip
FROM weather
GROUP BY location
location avg_precip
Concord 0.027120658135283374
Hayward 0.03708029197080292
San Francisco 0.03750912408759125

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View bit_and query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  bit_and(precip::BIGINT) AS precip_bit_and
FROM weather
GROUP BY location
location precip_bit_and
Concord 0
Hayward 0
San Francisco 0

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View bit_or query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  bit_or(precip::BIGINT) AS precip_bit_or
FROM weather
GROUP BY location
location precip_bit_or
Concord 7
Hayward 7
San Francisco 7

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View bit_xor query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  bit_xor(precip::BIGINT) AS precip_bit_xor
FROM weather
GROUP BY location
location precip_bit_xor
Concord 4
Hayward 6
San Francisco 4

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View bool_and query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  bool_and(precip > 0) AS precip_bool_and
FROM weather
GROUP BY location
location precip_bool_and
Concord false
Hayward false
San Francisco false

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View bool_or query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  bool_or(precip > 0) AS precip_bool_or
FROM weather
GROUP BY location
location precip_bool_or
Concord true
Hayward true
San Francisco true

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View count query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  count(precip) AS precip_count
FROM weather
GROUP BY location
location precip_count
Concord 1094
Hayward 1096
San Francisco 1096

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View first_value query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  first_value(temp_max ORDER BY time) AS temp_max_first_value
FROM weather
GROUP BY location
location temp_max_first_value
Concord 59
Hayward 57
San Francisco 66

{{% /expand %}} {{< /expand-wrapper >}}

grouping

Returns 1 if the data is aggregated across the specified column, or 0 if it is not aggregated in the result set.

grouping(expression)
Arguments
  • expression: Expression to evaluate whether data is aggregated across the specified column. Can be a constant, column, or function.

{{< expand-wrapper >}} {{% expand "View grouping query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  avg(temp_max) AS avg_max_temp,
  grouping(location) AS grouping
FROM weather
GROUP BY GROUPING SETS ((location), ())
location avg_max_temp grouping
Concord 75.54379562043796 0
Hayward 69.12043795620438 0
San Francisco 67.59945255474453 0
70.75456204379562 1

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View last_value query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  last_value(temp_max ORDER BY time) AS temp_max_last_value
FROM weather
GROUP BY location
location temp_max_last_value
Concord 59
Hayward 58
San Francisco 62

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View max query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  max(precip) AS max_precip
FROM weather
GROUP BY location
location max_precip
Concord 4.53
Hayward 4.34
San Francisco 4.02

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View median query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  median(temp_avg) AS median_temp_avg
FROM weather
GROUP BY location
location median_temp_avg
Concord 61.0
Hayward 59.0
San Francisco 58.0

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View min query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  min(temp_min) AS min_temp_min
FROM weather
GROUP BY location
location min_temp_min
Concord 28.0
Hayward 32.0
San Francisco 35.0

{{% /expand %}} {{< /expand-wrapper >}}

nth_value

Returns the nth value in a group of values.

nth_value(expression, n [ORDER BY order_expression_1, ... order_expression_n])
arguments
  • expression: The column or expression to retrieve the nth value from.
  • n: The position (nth) of the value to retrieve, based on the ordering.
  • order_expression_1, ... order_expression_n: Expressions to order by. Can be a column or function, and any combination of arithmetic operators.

{{< expand-wrapper >}} {{% expand "View nth_value query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  nth_value(temp, 3 ORDER BY time) AS "3rd_temp"
FROM
  home
GROUP BY
  room
room 3rd_temp
Living Room 21.8
Kitchen 22.7

{{% /expand %}} {{< /expand-wrapper >}}

string_agg

Concatenates the values of string expressions and places separator values between them.

string_agg(expression, delimiter)
Arguments
  • expression: The string expression to concatenate. Can be a column or any valid string expression.
  • delimiter: A literal string to use as a separator between the concatenated values.

{{< expand-wrapper >}} {{% expand "View string_agg query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT
  location,
  string_agg(temp_avg::STRING, ', ') AS string_agg
FROM 
  weather
WHERE
  time > '2020-01-01T00:00:00Z'
  AND time < '2020-01-05T00:00:00Z'
GROUP BY
  location
location string_agg
San Francisco 54.0, 52.0, 54.0
Hayward 51.0, 50.0, 51.0
Concord 53.0, 49.0, 51.0

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View sum query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  sum(precip) AS total_precip
FROM weather
GROUP BY location
location total_precip
Concord 29.670000000000012
Hayward 40.64
San Francisco 41.110000000000014

{{% /expand %}} {{< /expand-wrapper >}}

Statistical aggregate functions

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.

{{< expand-wrapper >}} {{% expand "View corr query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  corr(hum, temp) AS correlation
FROM home
GROUP BY room
room correlation
Living Room 0.43665270457835725
Kitchen 0.6741766954929539

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View covar query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  covar(hum, temp) AS covar
FROM home
GROUP BY room
room covar
Living Room 0.03346153846153959
Kitchen 0.11134615384615432

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View covar_pop query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  covar_pop(hum, temp) AS covar_pop
FROM home
GROUP BY room
room covar_pop
Kitchen 0.10278106508875783
Living Room 0.030887573964498087

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View covar_samp query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  covar_samp(hum, temp) AS covar_samp
FROM home
GROUP BY room
room covar_samp
Kitchen 0.11134615384615432
Living Room 0.03346153846153959

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View regr_avgx query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  regr_avgx(temp_min, temp_max) AS temp_regr_avgx
FROM weather
GROUP BY location
location temp_regr_avgx
Concord 75.54379562043796
Hayward 69.14808043875686
San Francisco 67.59945255474454

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View regr_avgy query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  regr_avgy(temp_min, temp_max) AS temp_regr_avgy
FROM weather
GROUP BY location
location temp_regr_avgy
Concord 50.153284671532845
Hayward 50.913162705667276
San Francisco 51.52372262773722

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View regr_count query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  regr_count(temp_min, temp_max) AS temp_regr_count
FROM weather
GROUP BY location
location temp_regr_count
Concord 1096
Hayward 1094
San Francisco 1096

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View regr_intercept query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  regr_intercept(temp_min, temp_max) AS temp_regr_intercept
FROM weather
GROUP BY location
location temp_regr_intercept
Concord 11.636281392206769
Hayward 12.876956842745152
San Francisco 19.125237647086607

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View regr_r2 query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  regr_r2(temp_min, temp_max) AS temp_regr_r2
FROM weather
GROUP BY location
location temp_regr_r2
Concord 0.6474628308450441
Hayward 0.5166296626320914
San Francisco 0.5032317511200297

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View regr_slope query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  regr_slope(temp_min, temp_max) AS temp_regr_slope
FROM weather
GROUP BY location
location temp_regr_slope
Concord 0.5098632252058237
Hayward 0.5500688612261629
San Francisco 0.4792714105844738

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View regr_sxx query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  regr_sxx(temp_min, temp_max) AS temp_regr_sxx
FROM weather
GROUP BY location
location temp_regr_sxx
Concord 210751.89781021897
Hayward 99644.01096892142
San Francisco 77413.15967153282

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View regr_syy query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  regr_syy(temp_min, temp_max) AS temp_regr_syy
FROM weather
GROUP BY location
location temp_regr_syy
Concord 84618.24817518248
Hayward 58358.750457038404
San Francisco 35335.38321167884

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View regr_sxy query example" %}}

The following example uses the NOAA Bay Area weather data.

SELECT 
  location,
  regr_sxy(temp_min, temp_max) AS temp_regr_sxy
FROM weather
GROUP BY location
location temp_regr_sxy
Concord 107454.64233576645
Hayward 54811.06764168191
San Francisco 37101.914233576645

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View stddev query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  stddev(co) AS stddev
FROM home
GROUP BY room
room stddev
Living Room 5.885662718931967
Kitchen 9.321879418735037

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View stddev_pop query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  stddev_pop(co) AS stddev_pop
FROM home
GROUP BY room
room stddev_pop
Kitchen 8.956172047894082
Living Room 5.654761830612032

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View stddev_samp query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  stddev_samp(co) AS stddev_samp
FROM home
GROUP BY room
room stddev_samp
Living Room 5.885662718931967
Kitchen 9.321879418735037

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View var query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  var(co) AS var
FROM home
GROUP BY room
room var
Living Room 34.64102564102564
Kitchen 86.89743589743587

{{% /expand %}} {{< /expand-wrapper >}}

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.
Aliases
  • var_population

{{< expand-wrapper >}} {{% expand "View var_pop query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  var_pop(co) AS var_pop
FROM home
GROUP BY room
room var_pop
Living Room 31.976331360946745
Kitchen 80.21301775147927

{{% /expand %}} {{< /expand-wrapper >}}

var_population

Alias of var_pop.

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.
Aliases
  • var_sample

{{< expand-wrapper >}} {{% expand "View var_samp query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  var_samp(co) AS var_samp
FROM home
GROUP BY room
room var_samp
Kitchen 86.89743589743587
Living Room 34.64102564102564

{{% /expand %}} {{< /expand-wrapper >}}

var_sample

Alias of var_samp.

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.

{{< expand-wrapper >}} {{% expand "View approx_distinct query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  approx_distinct(co::string) AS approx_distinct
FROM home
GROUP BY room
room approx_distinct
Living Room 7
Kitchen 8

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View approx_median query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  approx_median(temp) AS approx_median
FROM home
GROUP BY room
room approx_median
Kitchen 22.7
Living Room 22.3

{{% /expand %}} {{< /expand-wrapper >}}

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.

{{< expand-wrapper >}} {{% expand "View approx_percentile_cont query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  approx_percentile_cont(temp, 0.99) AS "99th_percentile"
FROM home
GROUP BY room
room 99th_percentile
Kitchen 23.3
Living Room 22.8

{{% /expand %}} {{< /expand-wrapper >}}

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).

{{< expand-wrapper >}} {{% expand "View approx_percentile_cont_with_weight query example" %}}

The following example uses the {{< influxdb3/home-sample-link >}}.

SELECT
  room,
  approx_percentile_cont_with_weight(temp, co, 0.99) AS "co_weighted_99th_percentile"
FROM home
GROUP BY room
room co_weighted_99th_percentile
Kitchen 23.3
Living Room 22.8

{{% /expand %}} {{< /expand-wrapper >}}