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

> С указанной точностью вычисляет квантиль в последовательности числовых данных с учетом веса каждого её элемента.

# quantilesTimingWeighted

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

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

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

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

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

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

Вычисление выполняется точно, если:

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

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

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

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

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

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

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

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

* `expr` — Выражение над значениями столбца, возвращающее число типа Float\*. Если в функцию передаются отрицательные значения, поведение не определено. Если значение превышает 30 000 (время загрузки страницы более 30 секунд), оно считается равным 30 000. [`Float*`](/ru/reference/data-types/float)
* `weight` — Столбец с весами элементов последовательности. Вес — это число вхождений значения. [`UInt*`](/ru/reference/data-types/int-uint)

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

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

**Примеры**

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

```sql title=Query theme={null}
SELECT quantilesTimingWeighted(0.5, 0.99)(response_time, weight) FROM t;
```

```response title=Response theme={null}
┌─quantilesTimingWeighted(0.5, 0.99)(response_time, weight)─┐
│ [112, 162]                                                │
└───────────────────────────────────────────────────────────┘
```

**См. также**

* [median](/ru/reference/functions/aggregate-functions/median)
* [quantiles](/ru/reference/functions/aggregate-functions/quantiles)
