我有一个数据表,我希望对其进行一些数值分析,因为我需要所有值都在同一范围内。0..1。
我有一个有点缓慢和长期的方式来完成这个,但想要一个更直接的高性能解决方案来解决我的问题
我需要做的是:
在每个项目中按 projectid 分组,取每个值的平均值,然后除以整个集合的最大平均值。
目前我有
select avg(foo * 1.0)/ (Select MAX(IL) FROM (select avg(foo * 1.0) as IL from table group by
ProjectID) tbl)
from table
所以如果列表是
projectid | foo
-----------------
1 | 1
1 | 2
2 | 4
2 | 2
最大平均值为 3,因此结果应为
0.5,1
其中第一个是 projectId 1 除以 3 的平均值,第二个是 projectId 2 除以 3 的平均值