You are viewing a single comment's thread. Return to all comments →
In SQL Server
DECLARE @QTD INT, @MEDIAN_INDEX_1 AS INT, @MEDIAN_INDEX_2 AS INT, @MEDIAN_VALUE FLOAT SET @QTD = (SELECT COUNT(LAT_N) FROM STATION) IF @QTD % 2 <> 0 BEGIN SET @MEDIAN_INDEX_1 = (@QTD + 1) / 2 SET @MEDIAN_INDEX_2 = @MEDIAN_INDEX_1 SET @MEDIAN_VALUE = ( SELECT LAT_N FROM ( SELECT LAT_N, ROW_NUMBER() OVER(ORDER BY LAT_N ASC) AS RN FROM STATION ) AS A WHERE RN = @MEDIAN_INDEX_1 ) END ELSE BEGIN SET @MEDIAN_INDEX_1 = @QTD / 2 SET @MEDIAN_INDEX_2 = @MEDIAN_INDEX_1 + 1 SET @MEDIAN_VALUE = ( SELECT AVG(LAT_N) FROM ( SELECT LAT_N, ROW_NUMBER() OVER(ORDER BY LAT_N ASC) AS RN FROM STATION ) AS A WHERE RN IN (@MEDIAN_INDEX_1, @MEDIAN_INDEX_2) ) END SELECT CAST(ROUND(@MEDIAN_VALUE, 4, 0) AS DECIMAL(38, 4))
Seems like cookies are disabled on this browser, please enable them to open this website
Weather Observation Station 20
You are viewing a single comment's thread. Return to all comments →
In SQL Server