所有记录的平均值

问题描述:

我需要显示每个表中所有记录的平均值。所有记录的平均值

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

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