quantileTimingWeighted
Добавленный в: v1.1.0
С заданной точностью вычисляет квантиль числовой последовательности данных с учетом веса каждого элемента последовательности.
Результат детерминирован (не зависит от порядка обработки запроса). Функция оптимизирована для работы с последовательностями, описывающими распределения, такие как время загрузки веб-страниц или время ответа backend-соединения.
При использовании в одном запросе нескольких функций quantile* с разными уровнями внутренние состояния не объединяются (то есть запрос выполняется менее эффективно, чем мог бы). В этом случае используйте функцию quantiles.
Точность
Вычисление является точным, если:
- Общее количество значений не превышает 5670.
- Общее количество значений превышает 5670, но время загрузки страницы меньше 1024 мс.
В противном случае результат вычисления округляется до ближайшего значения, кратного 16 мс.
Синтаксис
quantileTimingWeighted(level)(expr, weight)Псевдонимы: medianTimingWeighted
Параметры
level— Необязательный. Уровень квантиля. Константное число с плавающей запятой от 0 до 1. Рекомендуется использовать значениеlevelв диапазоне[0.01, 0.99]. Значение по умолчанию: 0.5. Приlevel=0.5функция вычисляет медиану.Float*
Аргументы
expr— Выражение над значениями столбца, результатом которого являются числовые типы данных,DateилиDateTime. Если в функцию передаются отрицательные значения, поведение не определено. Если значение превышает 30 000 (время загрузки страницы более 30 секунд), считается, что оно равно 30 000.(U)Int*илиFloat*илиDateилиDateTimeweight— Столбец с весами элементов последовательности. Вес — это количество вхождений значения.UInt*
Возвращаемое значение
Квантиль указанного уровня. Float32
Примеры
Вычисление взвешенного квантиля времени
CREATE TABLE t (response_time UInt32, weight UInt32) ENGINE = Memory;
INSERT INTO t VALUES (68, 1), (104, 2), (112, 3), (126, 2), (138, 1), (162, 1);
SELECT quantileTimingWeighted(response_time, weight) FROM t;┌─quantileTimingWeighted(response_time, weight)─┐
│ 112 │
└───────────────────────────────────────────────┘