所有记录的平均值

时间:2013-11-24 13:29:18

标签: postgresql

我需要在每一行显示表格的所有记录的平均值。

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

P.S。:我正在使用PostgreSql 9.3,我可以使用窗口函数。

1 个答案:

答案 0 :(得分: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