所有记录的平均值
问题描述:
我需要显示每个表中所有记录的平均值。所有记录的平均值
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,我可以使用窗口功能。
答
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
使用[分析](http://sqlfiddle.com/#!15/899b1/1)功能。 – Noel