;WITH TopHalf AS ( SELECT TOP 50 PERCENT DataValue FROM DataSet ORDER BY DataValue ASC),BottomHalf AS ( SELECT TOP 50 PERCENT DataValue FROM DataSet ORDER BY DataValue DESC),BottomOfTopHalf AS ( SELECT TOP 1 DataValue FROM TopHalf ORDER BY DataValue DESC),TopOfBottomHalf AS ( SELECT TOP 1 DataValue FROM BottomHalf ORDER BY DataValue ASC)SELECT Median = (BottomOfTopHalf.DataValue + TopOfBottomHalf.DataValue) / 2.0FROM BottomOfTopHalf, TopOfBottomHalf