计算贡献

时间:2016-10-21 06:12:33

标签: sql sql-server

执行max(count())是不合法的,那么如何完成此处所示的贡献计算(以及获取其他列)

SELECT id,
       Avg(time)      AS avgSec,
       Stdev(time)    AS stdevSec,
       Count(time)    AS cnt,
       Avg(time)*Count(time)/max(Count(time))  AS contribution
FROM ...very long and complex query...

1 个答案:

答案 0 :(得分:2)

使用MAX()OVER()窗口聚合函数从所有记录中获取最大数量

这是正确的方法

Avg(time)*Count(time)/max(Count(time)) over()