---
title: quantile() function
description: quantile() returns rows from each input table with values that fall within a specified quantile or returns the row with the value that represents the specified quantile.
url: https://docs.influxdata.com/flux/v0/stdlib/universe/quantile/
estimated_tokens: 1508
product: Flux
version: v0
publisher: InfluxData
canonical: https://docs.influxdata.com/flux/v0/stdlib/universe/quantile/
date: '2024-04-08T16:01:02-06:00'
lastmod: '2024-04-08T16:01:02-06:00'
---

* Flux 0.24.0+

InfluxDB support

`quantile()` returns rows from each input table with values that fall within a
specified quantile or returns the row with the value that represents the
specified quantile.

`quantile()` supports columns with float values.

### Function behavior

`quantile()` acts as an aggregate or selector transformation depending on the
specified `method`.

* **Aggregate**: When using the `estimate_tdigest` or `exact_mean` methods,`quantile()` acts as an aggregate transformation and outputs the average of
  non-null records with values that fall within the specified quantile.
* **Selector**: When using the `exact_selector` method, `quantile()` acts as
  a selector selector transformation and outputs the non-null record with the
  value that represents the specified quantile.

##### Function type signature

```js
(
    <-tables: stream[A],
    q: float,
    ?column: string,
    ?compression: float,
    ?method: string,
) => stream[A] where A: Record
```

For more information, see [Function type signatures](/flux/v0/function-type-signatures/).

## Parameters

### column

Column to use to compute the quantile. Default is `_value`.

### q

(Required)
Quantile to compute. Must be between `0.0` and `1.0`.

### method

Computation method. Default is `estimate_tdigest`.

**Available methods**:

* **estimate\_tdigest**: Aggregate method that uses a[t-digest data structure](https://github.com/tdunning/t-digest) to
  compute an accurate quantile estimate on large data sources.
* **exact\_mean**: Aggregate method that takes the average of the two
  points closest to the quantile value.
* **exact\_selector**: Selector method that returns the row with the value
  for which at least `q` points are less than.

### compression

Number of centroids to use when compressing the dataset.
Default is `1000.0`.

A larger number produces a more accurate result at the cost of increased
memory requirements.

### tables

Input data. Default is piped-forward data (`<-`).

## Examples

* [Quantile as an aggregate](#quantile-as-an-aggregate)
* [Quantile as a selector](#quantile-as-a-selector)

### Quantile as an aggregate

```js
import "sampledata"

sampledata.float()
    |> quantile(q: 0.99, method: "estimate_tdigest")
```

[](#view-example-input-and-output)

View example input and output

#### Input data

|       \_time       |\*tag|\_value|
|--------------------|-----|-------|
|2021-01-01T00:00:00Z| t1  |\-2.18 |
|2021-01-01T00:00:10Z| t1  | 10.92 |
|2021-01-01T00:00:20Z| t1  | 7.35  |
|2021-01-01T00:00:30Z| t1  | 17.53 |
|2021-01-01T00:00:40Z| t1  | 15.23 |
|2021-01-01T00:00:50Z| t1  | 4.43  |

|       \_time       |\*tag|\_value|
|--------------------|-----|-------|
|2021-01-01T00:00:00Z| t2  | 19.85 |
|2021-01-01T00:00:10Z| t2  | 4.97  |
|2021-01-01T00:00:20Z| t2  |\-3.75 |
|2021-01-01T00:00:30Z| t2  | 19.77 |
|2021-01-01T00:00:40Z| t2  | 13.86 |
|2021-01-01T00:00:50Z| t2  | 1.86  |

#### Output data

|\*tag|\_value|
|-----|-------|
| t1  | 17.53 |

|\*tag|\_value|
|-----|-------|
| t2  | 19.85 |

### Quantile as a selector

```js
import "sampledata"

sampledata.float()
    |> quantile(q: 0.5, method: "exact_selector")
```

[](#view-example-input-and-output)

View example input and output

#### Input data

|       \_time       |\*tag|\_value|
|--------------------|-----|-------|
|2021-01-01T00:00:00Z| t1  |\-2.18 |
|2021-01-01T00:00:10Z| t1  | 10.92 |
|2021-01-01T00:00:20Z| t1  | 7.35  |
|2021-01-01T00:00:30Z| t1  | 17.53 |
|2021-01-01T00:00:40Z| t1  | 15.23 |
|2021-01-01T00:00:50Z| t1  | 4.43  |

|       \_time       |\*tag|\_value|
|--------------------|-----|-------|
|2021-01-01T00:00:00Z| t2  | 19.85 |
|2021-01-01T00:00:10Z| t2  | 4.97  |
|2021-01-01T00:00:20Z| t2  |\-3.75 |
|2021-01-01T00:00:30Z| t2  | 19.77 |
|2021-01-01T00:00:40Z| t2  | 13.86 |
|2021-01-01T00:00:50Z| t2  | 1.86  |

#### Output data

|       \_time       |\*tag|\_value|
|--------------------|-----|-------|
|2021-01-01T00:00:20Z| t1  | 7.35  |

|       \_time       |\*tag|\_value|
|--------------------|-----|-------|
|2021-01-01T00:00:10Z| t2  | 4.97  |

#### Related

* [Find percentile and quantile values](/influxdb/v2/query-data/flux/percentile-quantile/)
* [InfluxQL – PERCENTILE()](/influxdb/v1/query_language/functions/#percentile)
* [experimental.quantile() function](/flux/v0/stdlib/experimental/quantile/)

[transformations](/flux/v0/tags/transformations/)[aggregates](/flux/v0/tags/aggregates/)[selectors](/flux/v0/tags/selectors/)
| _time | *tag | _value |
| --- | --- | --- |
| _time | *tag | _value |
| 2021-01-01T00:00:00Z | t1 | -2.18 |
| 2021-01-01T00:00:10Z | t1 | 10.92 |
| 2021-01-01T00:00:20Z | t1 | 7.35 |
| 2021-01-01T00:00:30Z | t1 | 17.53 |
| 2021-01-01T00:00:40Z | t1 | 15.23 |
| 2021-01-01T00:00:50Z | t1 | 4.43 |

| _time | *tag | _value |
| --- | --- | --- |
| _time | *tag | _value |
| 2021-01-01T00:00:00Z | t2 | 19.85 |
| 2021-01-01T00:00:10Z | t2 | 4.97 |
| 2021-01-01T00:00:20Z | t2 | -3.75 |
| 2021-01-01T00:00:30Z | t2 | 19.77 |
| 2021-01-01T00:00:40Z | t2 | 13.86 |
| 2021-01-01T00:00:50Z | t2 | 1.86 |

| *tag | _value |
| --- | --- |
| *tag | _value |
| t1 | 17.53 |

| *tag | _value |
| --- | --- |
| *tag | _value |
| t2 | 19.85 |

| _time | *tag | _value |
| --- | --- | --- |
| _time | *tag | _value |
| 2021-01-01T00:00:00Z | t1 | -2.18 |
| 2021-01-01T00:00:10Z | t1 | 10.92 |
| 2021-01-01T00:00:20Z | t1 | 7.35 |
| 2021-01-01T00:00:30Z | t1 | 17.53 |
| 2021-01-01T00:00:40Z | t1 | 15.23 |
| 2021-01-01T00:00:50Z | t1 | 4.43 |

| _time | *tag | _value |
| --- | --- | --- |
| _time | *tag | _value |
| 2021-01-01T00:00:00Z | t2 | 19.85 |
| 2021-01-01T00:00:10Z | t2 | 4.97 |
| 2021-01-01T00:00:20Z | t2 | -3.75 |
| 2021-01-01T00:00:30Z | t2 | 19.77 |
| 2021-01-01T00:00:40Z | t2 | 13.86 |
| 2021-01-01T00:00:50Z | t2 | 1.86 |

| _time | *tag | _value |
| --- | --- | --- |
| _time | *tag | _value |
| 2021-01-01T00:00:20Z | t1 | 7.35 |

| _time | *tag | _value |
| --- | --- | --- |
| _time | *tag | _value |
| 2021-01-01T00:00:10Z | t2 | 4.97 |
