I SQL 2012 eller nyere er det ofte nemmere at bruge percentile_cont funktion til at beregne medianen. Det ser ud til, at resten af dit spørgsmål allerede er blevet behandlet, men jeg tænkte, at du også gerne ville vide mere om denne mulighed.
https://msdn.microsoft.com/en-us/library/hh231473 .aspx