通过引用另一个表中的列从表中的列计数

时间:2017-11-18 03:03:38

标签: database postgresql select

我不确定该怎么称呼,但这就是我要做的事情:

我有一个团队表:

teamid | city | name

我有一张比赛表:

gameid | teamid | points

我想要做的是计算“猛龙队”所有比赛得分。

我试过这种方式:

SELECT COUNT(points) AS "Raptors Points" FROM TEAMS, GAMES 
    WHERE name = 'Raptors' AND TEAMS.teamid = GAMES.teamid;

这样:

SELECT COUNT(points) AS "Raptors Points" FROM (SELECT * FROM 
    TEAMS JOIN GAMES ON TEAMS.teamid = GAMES.teamid WHERE 
    name = 'Raptors') AS foo;

两者都会产生一个表格,只显示其中一个游戏(第一个游戏)的点数,而不是所有游戏的总计数。

我真的很难过我做错了什么。有什么建议吗?

由于

1 个答案:

答案 0 :(得分:2)

您很可能会看到错误的价值并认为它具有适当的价值。您需要使用COUNT(points)

更改SUM(points)

Count将为您提供总记录数,SUM将为您提供总分数

顺便说一句,如果您修复了

,那么您的第一个查询应该有效