Перейти к основному содержимому
Версия: 2.0.x

percentile_approx

Возвращает приближённое значение p-го процентиля, где значение p находится между 0 и 1.

Параметр сжатия (compression) является необязательным и имеет диапазон настройки [2048, 10000]. Чем больше значение, тем выше точность, больше потребление памяти и дольше время вычисления. Если параметр не указан или выходит за пределы диапазона [2048, 10000], функция выполняется с параметром сжатия по умолчанию 10000.

Эта функция использует фиксированный объём памяти, поэтому для столбцов с высокой кардинальностью можно использовать меньше памяти. Может использоваться для расчёта статистики, такой как tp99.

Синтаксис

DOUBLE PERCENTILE_APPROX(expr, DOUBLE p[, DOUBLE compression])

Примеры

MySQL > select `table`, percentile_approx(cost_time,0.99)
from log_statis
group by `table`;
+----------+--------------------------------------+
| table | percentile_approx(`cost_time`, 0.99) |
+----------+--------------------------------------+
| test | 54.22 |
+----------+--------------------------------------+

MySQL > select `table`, percentile_approx(cost_time,0.99, 4096)
from log_statis
group by `table`;
+----------+----------------------------------------------+
| table | percentile_approx(`cost_time`, 0.99, 4096.0) |
+----------+----------------------------------------------+
| test | 54.21 |
+----------+----------------------------------------------+

Ключевое слово

PERCENTILE_APPROX,PERCENTILE,APPROX