2013-11-24 47 views
0

我需要顯示每個表中所有記錄的平均值。所有記錄的平均值

Id Value 
1  3 
2  1 
3  4 
4  2 

平均值爲(3 + 1 + 4 + 2)/ 4 = 2.5

欲得到這樣的:

Id Value Average 
1  3  2.5 
2  1  2.5 
3  4  2.5 
4  2  2.5 

PS:我使用PostgreSQL 9.3,我可以使用窗口功能。

+0

使用[分析](http://sqlfiddle.com/#!15/899b1/1)功能。 – Noel

回答

1

MySQL版本,短期和優雅:

SELECT Id, Value, AVG(Value) AS Average 
FROM scores; 

PostgreSQL的版本,不太一樣:

SELECT ID, Value, tblAvg.Average 
FROM scores 
INNER JOIN (SELECT AVG(Value) AS Average from scores) AS tblAvg ON 1=1 
+0

Hrm,這在Postgres上不起作用,但是在MySQL – nrathaus

+0

上很好!你的第二個答案就是我所需要的。謝謝。 – leonardorame