對於偶數行式爲中位數是(104.5 + 108)/ 2對於下表和對於奇數行是108,用於表以下的平均在SQL Server 2000
Total Total
100 100
101 101
104.5 104.5
108 108
108.3 108.3
112 112
114
代碼在SQL Server工作2008但不在SQL Server 2000中,因爲它不理解row_number()
和over
。
我們應該如何更改較低的代碼才能使其在SQL Server 2000上運行?
select avg(Total) median from
(select Total,
rnasc = row_number() over(order by Total),
rndesc = row_number() over(order by Total desc)
from [Table]
) b
where rnasc between rndesc - 1 and rndesc + 1
你的意思是SELECT TOP 50%** **總不進球,對不對?除此之外,我認爲這真的很聰明。 – deutschZuid
已編輯。感謝:D – NullCoder
和MAX的:P ..另一件事你可能應該有/ 2.0而不是僅用整數2,以防萬一數學中涉及的所有操作數都是整數。 – deutschZuid