I'm calculating median as:
DECLARE @TEMP TABLE ( ID INT ) Select ( ( Select Top 1 ID From ( Select Top 50 Percent ID From @Temp Where ID Is NOT NULL Order By ID ) As A Order By ID DESC ) + ( Select Top 1 ID From ( Select Top 50 Percent ID From @Temp Where ID Is NOT NULL Order By ID DESC ) As A Order By ID Asc ) ) / 2 Above query I want to use. But, in my case there are so many columns for those I want to calculate MEDIAN. But I think it would be bad to repeat above block of code for each column. So, I'm trying to define separate function which would accept column values, process and return median. Should I have to define table-value-funtion for that or there is another optimized way to do so??
This question is related to the following questions:
- How to write function in sql which accept table as input and return result back as table?
- Getting error "must declare the scalar variable" in SQL function even though it is declared
- why unable to execute table-valued function?
- https://dba.stackexchange.com/questions/127328/how-to-use-udf-function-in-insert-into-select-from-clause
- Calculating multiple medians