Простое объяснение медианы выборки: В отдельных сериях (если число наблюдений очень мало), сначала нужно расположить все наблюдения по порядку.Тогда count (n) - это общее количество наблюдений в данных.
Если n равно нечетное , то Median (M) = значение ((n + 1)) / 2) термин элемента.
Если n равно четное , то Медиана (M) = значение [(n / 2) -го элемента элемента + (n / 2 + 1) -готермин элемента] / 2
CTE в Sql Server
Запрос:
declare @cont int,@reccount int,@first int, @second int;
set @reccount=(select COUNT(id) from STATION);
IF @reccount%2=0 --even rows
set @cont=(((@reccount)/2)+(((@reccount)/2)+1))/2;
ELSE
set @cont=((select count(id) from station)+1)/2;
--creating CTE
WITH Station_CTE (rowNum, Lat_n)
AS (
select row_number() over(order by lat_n desc) as 'rowNum',lat_n from station
)
SELECT top(1) SUBSTRING(convert(varchar(30),ROUND((scte.lat_n),4)),1,(CHARINDEX('.',ROUND((scte.lat_n),4),1)+4)) from Station s inner join Station_CTE as scte on scte.rowNum =@cont
Ожидаемый результат:
83.8913