> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-86180b7b.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> quantiles, quantilesExactExclusive, quantilesExactInclusive, quantilesGK

# quantiles 函数

<div id="quantiles">
  ## quantiles
</div>

引入版本：v1.1.0

同时计算数值数据序列在不同级别上的多个近似[分位数](https://en.wikipedia.org/wiki/Quantile)。

此函数采用[水塘抽样](https://en.wikipedia.org/wiki/Reservoir_sampling)，水塘容量最大为 8192，并使用随机数生成器进行采样。
结果是非确定性的。

当需要多个分位数值时，使用 `quantiles` 比分别调用多个 `quantile` 函数更高效，因为所有分位数都可在单次遍历数据时计算完成。

**语法**

```sql theme={null}
quantiles(level1, level2, ...)(expr)
```

**参数**

* `level` — 分位数的级别。一个或多个从 0 到 1 的常量浮点数。建议将 `level` 的值设在 `[0.01, 0.99]` 范围内。[`Float*`](/zh/reference/data-types/float)

**参数**

* `expr` — 基于列值的表达式，结果类型为数值数据类型、Date 或 DateTime。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal) 或 [`Date`](/zh/reference/data-types/date) 或 [`DateTime`](/zh/reference/data-types/datetime)

**返回值**

按指定级别的顺序返回的近似分位数组。[`Array(Float64)`](/zh/reference/data-types/array) 或 [`Array(Date)`](/zh/reference/data-types/array) 或 [`Array(DateTime)`](/zh/reference/data-types/array)

**示例**

**高效计算多个分位数**

```sql title=Query theme={null}
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);

SELECT quantiles(0.25, 0.5, 0.75, 0.9)(val) FROM t;
```

```response title=Response theme={null}
┌─quantiles(0.25, 0.5, 0.75, 0.9)(val)─┐
│ [3, 5.5, 8, 9.5]                     │
└──────────────────────────────────────┘
```
