我不确定该怎么称呼,但这就是我要做的事情:
我有一个团队表:
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;
两者都会产生一个表格,只显示其中一个游戏(第一个游戏)的点数,而不是所有游戏的总计数。
我真的很难过我做错了什么。有什么建议吗?
由于
答案 0 :(得分:2)
您很可能会看到错误的价值并认为它具有适当的价值。您需要使用COUNT(points)
SUM(points)
Count将为您提供总记录数,SUM将为您提供总分数
顺便说一句,如果您修复了
,那么您的第一个查询应该有效