У меня есть одна таблица, в которой хранятся оценки учеников по классам.
Например, в каждом классе 30 учеников, поэтому для каждого класса по 30 баллов.
Я хотел бы сделать простой отчет, который усредняет, выполняет медиану и режим для каждого набора данных в классе.
Таким образом, каждый класс будет иметь среднее значение, медиану и режим.
Я знаю, что в SQL Server нет встроенной функции для медианы и режима, и я нашел примеры SQL для медианы. Тем не менее, образцы, которые я нашел, не делали никакой группировки, я нашел:
SELECT
(
(SELECT MAX(Value) FROM
(SELECT TOP 50 PERCENT Value FROM dbo.VOrders ORDER BY Value) AS H1)
+
(SELECT MIN(Value) FROM
(SELECT TOP 50 PERCENT Value FROM dbo.VOrders ORDER BY Value DESC) AS H2)
) / 2 AS Median
Можно ли изменить, чтобы добавить группу, чтобы я получил среднее значение для класса?
Не думаю, что я достаточно ясен, я хотел бы, чтобы SQL возвратил один набор данных, выглядя примерно так:
MEDIAN CLASS
====== =====
90 BIO
77 CHEM