Function to Calculate Median in SQL Server

前端 未结 30 2704
孤独总比滥情好
孤独总比滥情好 2020-11-22 04:03

According to MSDN, Median is not available as an aggregate function in Transact-SQL. However, I would like to find out whether it is possible to create this functionality (u

30条回答
  •  南笙
    南笙 (楼主)
    2020-11-22 04:20

    If you're using SQL 2005 or better this is a nice, simple-ish median calculation for a single column in a table:

    SELECT
    (
     (SELECT MAX(Score) FROM
       (SELECT TOP 50 PERCENT Score FROM Posts ORDER BY Score) AS BottomHalf)
     +
     (SELECT MIN(Score) FROM
       (SELECT TOP 50 PERCENT Score FROM Posts ORDER BY Score DESC) AS TopHalf)
    ) / 2 AS Median
    

提交回复
热议问题