Вычислить медианное значение в MySQL
Опубликовано: 30 Ноября, 2021
Медиана:
В статистике и теории вероятностей медиана - это значение, отделяющее верхнюю половину от нижней половины выборки данных, совокупности или распределения вероятностей. Говоря простым языком, медиана - это среднее значение отсортированного списка значений.
Рассчитать медианное значение в MySQL -
Рассмотрим таблицу демку где Name это имя студента и расстояние общее расстояние (в км) от своего дома в колледж.
Имя | Расстояние |
---|---|
Саммит | 25 |
Яскират | 35 год |
Сукрут | 20 |
Шивам | 20 |
Санчит | 45 |
Принц | 35 год |
Кешав | 15 |
Preet | 25 |
Саурав | 20 |
Мы вычисляем медианное значение Distance из демонстрационной таблицы.
Запрос -
УСТАНОВИТЬ @rowindex: = -1; ВЫБРАТЬ AVG (d.distance) как медиана ИЗ (ВЫБЕРИТЕ @rowindex: = @ rowindex + 1 AS rowindex, demo.distance AS расстояние ИЗ демонстрации ЗАКАЗАТЬ ПО демонстрационной дистанции) КАК d ГДЕ d.rowindex IN (FLOOR (@rowindex / 2), CEIL (@rowindex / 2));
Объяснение :
- Начиная с внутреннего подзапроса - select назначает @rowindex в качестве инкрементного индекса для каждого выбранного расстояния и сортирует расстояние.
- Когда у нас есть отсортированный список расстояний, внешний запрос будет извлекать средние элементы в массиве. Если массив содержит нечетное количество элементов, оба значения будут одним средним значением.
- Затем предложение SELECT внешнего запроса возвращает среднее этих двух значений в качестве медианного значения.
Выход -
25,0000