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

> Подобно quantileExact, эта функция вычисляет точный квантиль для числовой последовательности данных.

# quantileExactHigh

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

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

Подобно [`quantileExact`](/ru/reference/functions/aggregate-functions/quantileExact), эта функция вычисляет точный [квантиль](https://en.wikipedia.org/wiki/Quantile) числовой последовательности данных.

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

Возвращаемое значение зависит от уровня квантиля и количества элементов в выборке: если уровень равен 0.5, то для чётного числа элементов функция возвращает большее из двух средних значений, а для нечётного — средний элемент.
Медиана вычисляется аналогично реализации [`median_high`](https://docs.python.org/3/library/statistics.html#statistics.median_high), используемой в Python.

Для всех остальных уровней возвращается элемент с индексом, соответствующим значению `level * size_of_array`.

При использовании нескольких функций `quantile*` с разными уровнями в одном запросе их внутренние состояния не объединяются (то есть запрос работает менее эффективно, чем мог бы).
В этом случае используйте функцию [quantiles](/ru/reference/functions/aggregate-functions/quantiles).

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

```sql theme={null}
quantileExactHigh(level)(expr)
```

**Псевдонимы**: `medianExactHigh`

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

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

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

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

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

Возвращает квантиль указанного уровня. [`Float64`](/ru/reference/data-types/float) или [`Date`](/ru/reference/data-types/date) или [`DateTime`](/ru/reference/data-types/datetime)

**Примеры**

**Вычисление точного верхнего квантиля**

```sql title=Query theme={null}
SELECT quantileExactHigh(number) FROM numbers(10);
```

```response title=Response theme={null}
┌─quantileExactHigh(number)─┐
│                         5 │
└───────────────────────────┘
```

**Вычисление квантиля заданного уровня**

```sql title=Query theme={null}
SELECT quantileExactHigh(0.1)(number) FROM numbers(10);
```

```response title=Response theme={null}
┌─quantileExactHigh(0.1)(number)─┐
│                              1 │
└────────────────────────────────┘
```
