> ## 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.

> Вычисляет несколько квантилей числовой последовательности с заданной точностью на разных уровнях одновременно.

# quantilesTiming

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

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

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

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

Результат детерминирован (не зависит от порядка обработки запроса). Функция оптимизирована для работы с последовательностями, описывающими такие распределения, как время загрузки веб-страниц или время отклика backend.

**Точность**

Результат вычисляется точно, если:

* Общее количество значений не превышает 5670.
* Общее количество значений превышает 5670, но время загрузки страницы меньше 1024 мс.

В противном случае результат вычисления округляется до ближайшего значения, кратного 16 мс.

<Note>
  Для вычисления квантилей времени загрузки страницы эта функция эффективнее и точнее, чем [`quantiles`](/docs/ru/reference/functions/aggregate-functions/quantiles).
</Note>

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

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

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

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

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

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

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

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

**Примеры**

**Вычисление нескольких квантилей времени**

```sql title=Query theme={null}
CREATE TABLE t (response_time UInt32) ENGINE = Memory;
INSERT INTO t VALUES (72), (112), (126), (145), (104), (242), (313), (168), (108);

SELECT quantilesTiming(0.25, 0.5, 0.75)(response_time) FROM t;
```

```response title=Response theme={null}
┌─quantilesTiming(0.25, 0.5, 0.75)(response_time)─┐
│ [108,126,168]                                   │
└─────────────────────────────────────────────────┘
```
