【发布时间】:2012-09-03 04:28:00
【问题描述】:
我有一个具有以下结构的表。
create table FindMedians
( GroupByColumn varchar(100)
, TimeInterval_1 int
, TimeInterval_2 int
, TimeInterval_3 int
);
我需要找到每个组的每个时间间隔的中位数。 我一直在分别计算每列的中位数并将它们联合起来,然后 PIVOTing 得到最终结果:
GroupByColumn Median1 Median2 Median3
使用Function to Calculate Median in Sql Server解决方案中给出的查询
注意:我只是使用查询,我还没有创建函数。
原始表有接近 500K 行,尝试分别计算每列的中位数很慢。 是否有一种性能良好的方法可以在单个查询中为我提供所有列的中位数,而不必为每列单独计算?
谢谢
【问题讨论】:
标签: sql tsql sql-server-2008-r2 median