我需要在每一行显示表格的所有记录的平均值。
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,我可以使用窗口函数。
答案 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