SQL将每条记录的列添加到一起

The*_*tix 11 sql

说实话,我不知道SQL但是我不想要答案,我想自己解决.

这是问题:

编写SQL查询以计算每个团队的目标数.

玩家

id name team_id goals
1 Joel 1 3
2 Ed 2 1
3 Simon 2 4
Run Code Online (Sandbox Code Playgroud)

球队

id name
1 New Zealand
2 London
Run Code Online (Sandbox Code Playgroud)

我要求的是一个信息箭头,可以让我解决问题.

我试过看自己,但我甚至不知道正确的术语来问这个问题,谷歌搜索'写sql为每一行添加字段'似乎只是回归添加列或插入.

Rah*_*thi 1

您需要首先尝试根据外键列联接您的表(Teams 中的 id 将链接到 Players 中的 TeamId。)。

然后您需要进行 GROUP BY 并使用聚合函数 SUM 来获取每个团队的目标。

所以你的查询将是这样的:

select t.name, sum(p.goals) as cnt, 
from players p inner join teams t on p.teamid = t.id
group by t.name
Run Code Online (Sandbox Code Playgroud)

  • 我要勾选此选项,因为我得出的答案几乎完全相同(来自阅读源材料),感谢@all 为我指明了正确的方向。我决定在找到答案之前不读这篇文章。 (2认同)