Es gibt anscheinend unterschiedliche Meinungen über die Berechnung des  Median. Zum einen gibt es den 'financial' Median, der das arithmetische  Mittel der beiden mittleren Werte ist, zum anderen den 'statistischen'  Median, der der niedrigere (bzw. bei Gleichheit der Werte) der erste der  Werte ist. In Büchern über T-SQL findet man die komplexesten Statements  zur Berechnung des Median, dabei ist dieser sehr einfach mit Hilfe von  TOP n PERCENT zu berechnen. Hier ist ein Beispiel zur Berechnung des  'financial' Medians:
IF OBJECT_ID('median') IS NOT NULL
	DROP TABLE median
GO
CREATE TABLE median(
col1 INT
)
GO 
INSERT INTO median (col1) VALUES (1)
INSERT INTO median (col1) VALUES (2)
INSERT INTO median (col1) VALUES (3)
INSERT INTO median (col1) VALUES (3)
INSERT INTO median (col1) VALUES (4)
INSERT INTO median (col1) VALUES (7)
INSERT INTO median (col1) VALUES (8)
INSERT INTO median (col1) VALUES (9)
SELECT 
	((SELECT 
		MIN(Col1)
	FROM
		(SELECT TOP 50 PERCENT 
			Col1
		FROM 
			Median
  		ORDER BY 
			Col1 
		DESC) a) +
	(SELECT 
		MAX(Col1)
	FROM
 		(SELECT TOP 50 PERCENT 
			Col1
 	 	FROM 
			Median
		ORDER BY 
			Col1) a))/2. AS Median
Median             
------------------ 
3.500000
(1 row(s) affected)
Und hier eines zur Berechnung des 'statistischen' Medians:
SELECT 
	MAX(Col1) AS Median
FROM
	(SELECT TOP 50 PERCENT 
	Col1
FROM 
	Median
ORDER BY 
	Col1) a
Median      
----------- 
3
(1 row(s) affected)
Beide Varianten funktionieren sowohl für eine gerade als auch ungerade Anzahl von Beoachtungen.
Danke an Jonathan van Houtte.