Перейти к основному содержимому
Версия: 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 |
+-----------+-----------------------------+