1604 lines
36 KiB
Markdown
1604 lines
36 KiB
Markdown
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](#general-aggregate-functions)
|
|
- [array_agg](#array_agg)
|
|
- [avg](#avg)
|
|
- [bit_and](#bit_and)
|
|
- [bit_or](#bit_or)
|
|
- [bit_xor](#bit_xor)
|
|
- [bool_and](#bool_and)
|
|
- [bool_or](#bool_or)
|
|
- [count](#count)
|
|
- [first_value](#first_value)
|
|
- [grouping](#grouping)
|
|
- [last_value](#last_value)
|
|
- [max](#max)
|
|
- [mean](#mean)
|
|
- [median](#median)
|
|
- [min](#min)
|
|
- [nth_value](#nth_value)
|
|
- [string_agg](#string_agg)
|
|
- [sum](#sum)
|
|
- [Statistical aggregate functions](#statistical-aggregate-functions)
|
|
- [corr](#corr)
|
|
- [covar](#covar)
|
|
- [covar_pop](#covar_pop)
|
|
- [covar_samp](#covar_samp)
|
|
- [regr_avgx](#regr_avgx)
|
|
- [regr_avgy](#regr_avgy)
|
|
- [regr_count](#regr_count)
|
|
- [regr_intercept](#regr_intercept)
|
|
- [regr_r2](#regr_r2)
|
|
- [regr_slope](#regr_slope)
|
|
- [regr_sxx](#regr_sxx)
|
|
- [regr_syy](#regr_syy)
|
|
- [regr_sxy](#regr_sxy)
|
|
- [stddev](#stddev)
|
|
- [stddev_pop](#stddev_pop)
|
|
- [stddev_samp](#stddev_samp)
|
|
- [var](#var)
|
|
- [var_pop](#var_pop)
|
|
- [var_population](#var_population)
|
|
- [var_samp](#var_samp)
|
|
- [var_sample](#var_sample)
|
|
- [Approximate aggregate functions](#approximate-aggregate-functions)
|
|
- [approx_distinct](#approx_distinct)
|
|
- [approx_median](#approx_median)
|
|
- [approx_percentile_cont](#approx_percentile_cont)
|
|
- [approx_percentile_cont_with_weight](#approx_percentile_cont_with_weight)
|
|
|
|
---
|
|
|
|
## General aggregate functions
|
|
|
|
- [array_agg](#array_agg)
|
|
- [avg](#avg)
|
|
- [bit_and](#bit_and)
|
|
- [bit_or](#bit_or)
|
|
- [bit_xor](#bit_xor)
|
|
- [bool_and](#bool_and)
|
|
- [bool_or](#bool_or)
|
|
- [count](#count)
|
|
- [first_value](#first_value)
|
|
- [grouping](#grouping)
|
|
- [last_value](#last_value)
|
|
- [max](#max)
|
|
- [mean](#mean)
|
|
- [median](#median)
|
|
- [min](#min)
|
|
- [nth_value](#nth_value)
|
|
- [string_agg](#string_agg)
|
|
- [sum](#sum)
|
|
|
|
### 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.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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`.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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`.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
max(expression)
|
|
```
|
|
|
|
_To return both the maximum value and its associated timestamp, use
|
|
[`selector_max`](/influxdb/version/reference/sql/functions/selector/#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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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](#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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
min(expression)
|
|
```
|
|
|
|
_To return both the minimum value and its associated timestamp, use
|
|
[`selector_max`](/influxdb/version/reference/sql/functions/selector/#selector_min)._
|
|
|
|
##### 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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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](#corr)
|
|
- [covar](#covar)
|
|
- [covar_pop](#covar_pop)
|
|
- [covar_samp](#covar_samp)
|
|
- [regr_avgx](#regr_avgx)
|
|
- [regr_avgy](#regr_avgy)
|
|
- [regr_count](#regr_count)
|
|
- [regr_intercept](#regr_intercept)
|
|
- [regr_r2](#regr_r2)
|
|
- [regr_slope](#regr_slope)
|
|
- [regr_sxx](#regr_sxx)
|
|
- [regr_syy](#regr_syy)
|
|
- [regr_sxy](#regr_sxy)
|
|
- [stddev](#stddev)
|
|
- [stddev_pop](#stddev_pop)
|
|
- [stddev_samp](#stddev_samp)
|
|
- [var](#var)
|
|
- [var_pop](#var_pop)
|
|
- [var_population](#var_population)
|
|
- [var_samp](#var_samp)
|
|
- [var_sample](#var_sample)
|
|
|
|
### corr
|
|
|
|
Returns the coefficient of correlation between two numeric values.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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`.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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`.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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`.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
``` sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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](/influxdb/version/reference/sample-data/#noaa-bay-area-weather-data)._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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_pop)._
|
|
|
|
### var_samp
|
|
|
|
Returns the statistical sample variance of a set of numbers.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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](#var_samp)._
|
|
|
|
## Approximate aggregate functions
|
|
|
|
- [approx_distinct](#approx_distinct)
|
|
- [approx_median](#approx_median)
|
|
- [approx_percentile_cont](#approx_percentile_cont)
|
|
- [approx_percentile_cont_with_weight](#approx_percentile_cont_with_weight)
|
|
|
|
### approx_distinct
|
|
|
|
Returns the approximate number of distinct input values calculated using the
|
|
HyperLogLog algorithm.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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)`.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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 >}}._
|
|
|
|
```sql
|
|
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 >}}
|