2012-05-04 48 views
0

我運行一個SQL查詢在那裏我有一些平均數的,現在我想有這些平均所以平均多重均線

AVG(q1) as q1, 
AVG(q2) as q2, 
AVG(q3) as q3, 
AVG(q4) as q4, 

和的平均值話,我不知道怎麼弄所有平均值的平均值爲AVG(q1,q2,q3,q4)AVG(q1+q2+q3+q4+q5)並不會返回所有行和列的總平均值,而只是每行的平均值。

回答

2

最簡單的方法是計算其手動

(AVG(q1) + AVG(q2) ... + AVG(qn))/(n*1.0) 
+0

謝謝你 - 我想到這一點,但我想可能有某種方式可以重用我已經獲得的價值,而不會浪費處理能力 - 但事實並非如此。感謝您的回答:) – Jakob

+0

請注意,只有當每個q的數量相同時,上述纔是數學上正確的。 – geoB

+0

@geoB你說的數字是相同的意思是什麼請告訴我..意味着普通的整數或任何其他 –

0

是的,你可以「重用」與另一個值中選擇

SELECT a.*,(q1+q2+q3+q4)/n as avg_all FROM (
    SELECT AVG(q1) as q1, 
     AVG(q2) as q2, 
     AVG(q3) as q3, 
     AVG(q4) as q4....) a