【发布时间】:2016-07-07 12:08:04
【问题描述】:
我正在(在 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行计算平均值
(编辑以简化查询,只问一个问题)
【问题讨论】:
-
@MageeWorld 你已经接近做你想做的事了。试试看
Aggrigate functions就像AVG()一样。 -
使用子选择:
SELECT ... FROM (SELECT ... GROUP BY ...) s GROUP BY ... -
@CoderofCode 我确实知道聚合函数(尽管我的大部分经验都是在 mysql 中),但我不知道如何将聚合查询包装在平均查询中
-
@MageeWorld - 是的,SUM 是一个聚合函数。它只是意味着它被应用在不止一行上。
标签: sql postgresql