我正在构建(在Rails中)一个应用程序来刮取NBA数据(主要用于我自己的启发和学习工具)。我从头开始使用postgresql,因为如果我要主持它,它会更有意义。数据库架构的设置完全符合我的要求here。
参与者实例基于TEAM概念 统计实例基于PLAYER概念,因此许多统计实例构成了参与者的“总数”。
以下查询:
Select SUM(steals) from statistics
INNER JOIN participants on statistics.participant_id = participants.id
INNER JOIN teams on participants.team_id = teams.id
WHERE teams.id = 15
GROUP BY statistics.participant_id;
产量(在psql终端应用程序中)
sum
-----
8
7
5
7
6
7
10
6
7
6
7
5
9
11
4
7
8
如何编写sql查询来计算基于这17行的平均值
(编辑以简化查询并只询问一个问题)
答案 0 :(得分:0)
使用以下查询打包您的查询
SELECT sum, AVG(sum)
FROM (
-- your query here
) x
在某些系统上,您还可以使用不需要外部查询的窗口函数。它的语法如下所示
AVG(sum) OVER () as avg
因为您要查找的平均值是分组的结果,所以您无法在此处使用它。