我有一個數據表,我希望執行一些數字分析,因爲我需要所有的值都在相同的範圍內。 0..1。規範化SQL查詢中的值
我完成這有點慢,longhanded方式,但想更straigt着高性能的解決我的問題
我需要做的是:
組由專案編號 在每個項目取每個值的平均值併除以整個集合的最大平均值。
目前我有
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
不會產生預期的結果。結果是0.333333和1 –
不,結果是0.5和1,只是在SQL小提琴中檢查它 - http://sqlfiddle.com/#!3/57a00/18 –
現在它是正確的,但再次這不是版本顯示或在小提琴鏈接時,我寫了評論:) –