ClickHouse/docs/ru/sql-reference/aggregate-functions/reference/quantilebfloat16.md
2021-07-29 18:20:55 +03:00

3.1 KiB
Raw Blame History

toc_priority
209

quantileBFloat16

Приближенно вычисляет квантиль выборки чисел в формате bfloat16. bfloat16 — это формат с плавающей точкой, в котором для представления числа используется 1 знаковый бит, 8 бит для порядка и 7 бит для мантиссы. Функция преобразует входное число в 32-битное с плавающей точкой и обрабатывает его старшие 16 бит. Она вычисляет квантиль в формате bfloat16 и преобразует его в 64-битное число с плавающей точкой, добавляя нулевые биты. Эта функция выполняет быстрые приближенные вычисления с относительной ошибкой не более 0.390625%.

Синтаксис

quantileBFloat16[(level)](expr)

Синоним: medianBFloat16

Аргументы

  • expr — столбец с числовыми данными. Integer, Float.

Параметры

  • level — уровень квантиля. Необязательный параметр. Допустимый диапазон значений от 0 до 1. Значение по умолчанию: 0.5. Float.

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

  • Приближенное значение квантиля.

Тип: Float64.

Пример

В таблице есть столбцы с целыми числами и с числами с плавающей точкой:

┌─a─┬─────b─┐
│ 1 │ 1.001 │
│ 2 │ 1.002 │
│ 3 │ 1.003 │
│ 4 │ 1.004 │
└───┴───────┘

Запрос для вычисления 0.75-квантиля (верхнего квартиля):

SELECT quantileBFloat16(0.75)(a), quantileBFloat16(0.75)(b) FROM example_table;

Результат:

┌─quantileBFloat16(0.75)(a)─┬─quantileBFloat16(0.75)(b)─┐
│                         3 │                         1 │
└───────────────────────────┴───────────────────────────┘

Обратите внимание, что все числа с плавающей точкой в примере были округлены до 1.0 при преобразовании к bfloat16.

См. также