Перейти к основному содержимому

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 |
+-----------+-----------------------------+