> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Точно вычисляет квантили последовательности числовых данных.

# quantilesExactExclusive

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

Добавленный в: v20.1.0

Точно вычисляет несколько [квантилей](https://en.wikipedia.org/wiki/Quantile) последовательности числовых данных одновременно на нескольких уровнях с использованием исключающего метода.

Эта функция эквивалентна [`quantileExactExclusive`](/docs/ru/reference/functions/aggregate-functions/quantileExactExclusive), но позволяет вычислять несколько уровней квантилей за один проход, что эффективнее, чем вызывать отдельные функции для вычисления квантилей.

Эта функция использует исключающий метод вычисления квантилей, как описано в [методе R-6](https://en.wikipedia.org/wiki/Quantile#Estimating_quantiles_from_a_sample).
Она эквивалентна функции Excel [PERCENTILE.EXC](https://support.microsoft.com/en-us/office/percentile-exc-function-bbaa7204-e9e1-4010-85bf-c31dc5dce4ba).

Чтобы получить точные значения, все переданные значения объединяются в массив, который затем частично сортируется.
Сложность алгоритма сортировки составляет `O(N·log(N))`, где `N = std::distance(first, last)` — число сравнений.

**Синтаксис**

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

**Параметры**

* `level` — Уровни квантилей. Константные числа с плавающей запятой от 0 до 1 (не включая границы). Рекомендуется использовать значения `level` в диапазоне `(0.01, 0.99)`. [`Float*`](/docs/ru/reference/data-types/float)

**Аргументы**

* `expr` — Выражение над значениями столбца, в результате которого получаются числовые типы данных, `Date` или `DateTime`. [`(U)Int*`](/docs/ru/reference/data-types/int-uint) или [`Float*`](/docs/ru/reference/data-types/float) или [`Date`](/docs/ru/reference/data-types/date) или [`DateTime`](/docs/ru/reference/data-types/datetime)

**Возвращаемое значение**

Массив квантилей указанных уровней в том же порядке, в котором были заданы уровни. [`Array(Float64)`](/docs/ru/reference/data-types/array)

**Примеры**

**Вычисление нескольких точных эксклюзивных квантилей**

```sql title=Query theme={null}
CREATE TABLE num AS numbers(1000);
SELECT quantilesExactExclusive(0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999)(number) FROM num;
```

```response title=Response theme={null}
┌─quantilesExactExclusive(0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999)(number)─┐
│ [249.25,499.5,749.75,899.9,949.95,989.99,998.999]                        │
└──────────────────────────────────────────────────────────────────────────┘
```
