Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantileBFloat16

quantileBFloat16

Добавленный в: v21.7.0

Вычисляет приближённый квантиль для выборки, состоящей из чисел bfloat16.

bfloat16 — это тип данных с плавающей запятой, имеющий 1 бит знака, 8 бит экспоненты и 7 бит мантиссы. Функция преобразует входные значения в 32-битные числа с плавающей запятой и берёт 16 старших бит. Затем она вычисляет значение квантиля bfloat16 и преобразует результат в 64-битное число с плавающей запятой, дописывая нулевые биты. Функция является быстрым оценщиком квантиля с максимальной относительной ошибкой 0.78125% (и средней относительной ошибкой приблизительно 0.27%), что соответствует 7-битной точности мантиссы bfloat16.

Синтаксис

quantileBFloat16[(level)](expr)

Псевдонимы: medianBFloat16

Параметры

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

Аргументы

  • expr — Выражение над значениями столбца, результатом которого являются числовые типы данных, Date или DateTime. (U)Int* или Float* или Date или DateTime

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

Приближённый квантиль указанного уровня. Для входных значений Date и DateTime выходной формат совпадает с входным. Float64 или Date или DateTime

Примеры

Вычисление квантиля с использованием bfloat16

CREATE TABLE example_table (a UInt32, b Float32) ENGINE = Memory;
INSERT INTO example_table VALUES (1, 1.001), (2, 1.002), (3, 1.003), (4, 1.004);

SELECT quantileBFloat16(0.75)(a), quantileBFloat16(0.75)(b) FROM example_table;
┌─quantileBFloat16(0.75)(a)─┬─quantileBFloat16(0.75)(b)─┐
│                         3 │                         1 │
└───────────────────────────┴───────────────────────────┘

См. также

Navigation