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

percentile_cont

Вычисляет процентильное значение expr с линейной интерполяцией.

Синтаксис

PERCENTILE_CONT (expr, percentile)

Параметры

  • expr: выражение, по которому упорядочиваются значения. Должно быть числовым типом данных, DATE или DATETIME. Например, если вы хотите найти медианный балл по физике, укажите столбец, содержащий баллы по физике.

  • percentile: процентиль искомого значения. Это константа с плавающей точкой от 0 до 1. Например, если вы хотите найти медианное значение, установите этот параметр равным 0.5.

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

Возвращает значение, которое находится на указанном процентиле. Если ни одно входное значение не находится точно на желаемом процентиле, результат вычисляется с использованием линейной интерполяции двух ближайших входных значений.

Тип данных совпадает с expr.

Примечания по использованию

Эта функция игнорирует значения NULL.

Примеры

Предположим, есть таблица с именем exam со следующими данными.

select * from exam order by Subject;
+-----------+-------+
| Subject | Score |
+-----------+-------+
| chemistry | 80 |
| chemistry | 100 |
| chemistry | NULL |
| math | 60 |
| math | 70 |
| math | 85 |
| physics | 75 |
| physics | 80 |
| physics | 85 |
| physics | 99 |
+-----------+-------+

Рассчитайте медианный балл по каждому предмету, игнорируя значения NULL.

Запрос:

SELECT Subject, PERCENTILE_CONT (Score, 0.5)  FROM exam group by Subject;

Результат:

+-----------+-----------------------------+
| Subject | percentile_cont(Score, 0.5) |
+-----------+-----------------------------+
| chemistry | 90 |
| math | 70 |
| physics | 82.5 |
+-----------+-----------------------------+