首页 > 解决方案 > 将 Percentile_cont/disc (Median) 转换为标量函数

问题描述

编辑这个,因为事实证明我们正在尝试重新创建轮子。

以下在确定中位数方面非常有效。现在,我们将如何转换为一个函数,以便我们可以调用 median(column) 而不必每次都执行以下操作。下面是诀窍:

   select percentile_cont(0.5) within group (order by n) over (PARTITION BY [column1]),

   from t;

啊——我明白了。是否可以分组,它只计算 column1 = a,b,c 的中位数,所以输出将是

 A median of values with A identifier
 B median of values with B identifier
 C median of values with C identifier

标签: sqlsql-server

解决方案


您应该只使用 tthepercentile_cont()percentile_disc()window 函数:

select percentile_cont(0.5) within group (order by n) over (),
       percentile_disc(0.5) within group (order by n) over ()      
from t;

没有必要重新发明轮子。


推荐阅读