quantileTiming
С заданной точностью вычисляет квартиль числовой последовательности данных.
Результат детерминированный (не зависит от порядка обработки запроса). Функция оптимизирована для работы с последовательностями, которые описывают распределения, такие как время загрузки веб-страниц или время отклика бэкенда.
При использовании нескольких функций quantile*
с различными уровнями в запросе внутренние состояния не объединяются (это означает, что запрос работает менее эффективно, чем мог бы). В этом случае используйте функцию quantiles.
Синтаксис
Псевдоним: medianTiming
.
Аргументы
-
level
— Уровень квартиля. Необязательный параметр. Константное число с плавающей запятой от 0 до 1. Рекомендуем использовать значениеlevel
в диапазоне[0.01, 0.99]
. Значение по умолчанию: 0.5. Приlevel=0.5
функция вычисляет медиану. -
expr
— Выражение по значениям колонки, возвращающее число типа Float*.- Если функции передаются отрицательные значения, поведение неопределено.
- Если значение больше 30 000 (время загрузки страницы более 30 секунд), предполагается, что оно равно 30 000.
Точность
Расчет точен, если:
- Общее количество значений не превышает 5670.
- Общее количество значений превышает 5670, но время загрузки страницы меньше 1024 мс.
В противном случае результат вычисления округляется до ближайшего кратного 16 мс.
Для вычисления квартилей времени загрузки страниц эта функция более эффективна и точна, чем quantile.
Возвращаемое значение
- Квартиль указанного уровня.
Тип: Float32
.
Если функции не передаются значения (при использовании quantileTimingIf
), возвращается NaN. Это сделано для того, чтобы отличать эти случаи от случаев, которые приводят к нулю. См. ORDER BY clause для примечаний о сортировке значений NaN
.
Пример
Входная таблица:
Запрос:
Результат:
Смотрите также
- медиана
- [квартиль](Arrays and Statistics.cs)