执行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...
答案 0 :(得分:2)
使用MAX()OVER()
窗口聚合函数从所有记录中获取最大数量
这是正确的方法
Avg(time)*Count(time)/max(Count(time)) over()