2016-02-22 63 views
11

要鈍我不知道SQL但我不想要答案,我想自己解決它。SQL將每條記錄的列一起添加

這裏的問題:

寫SQL查詢來計算的目標,爲每個團隊的數量。

球員

id name team_id goals 
1 Joel 1 3 
2 Ed 2 1 
3 Simon 2 4 

id name 
1 New Zealand 
2 London 

就是我要問的是,讓我解決問題的信息的箭頭。

我試過看自己,但我甚至不知道正確的術語問問題,谷歌搜索'寫入SQL爲每行添加字段'似乎返回添加列或插入。

+1

查看「GROUP BY」和聚合函數。 –

+0

+1爲你的願望**不**獲得答案...尋找'INNER JOIN'通過'teams.id'和'players.team_id'獲得與「players」表相關的「teams」表。比尋找'GROUP BY'和'SUM' – Shnugo

+0

檢查這裏閱讀更多關於Shnugo關鍵詞建議和例子http://www.w3schools.com/sql/default.asp –

回答

1

您需要首先嚐試根據外鍵列來加入您的表(隊中的id將與Player中的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 
+1

這應該是一個評論或有一個SQL例子.. – sagi

+1

你確定這足夠回答嗎?特別是如果有評論已經說明完全相同? – Shnugo

+2

我打算這樣做,因爲我提出的答案几乎完全一樣(來自閱讀資料),謝謝@all指出我在正確的方向。我決定不讀這個,直到我想出了一個答案。 – Thermatix

0

首先你要組的玩家通過團隊:通過使用t1.id = t2.id到表中加入的值,然後組主題爲「 BROUP BY「t.name。

然後:用戶「SUM(價值)」功能誰總和值。

select teams.name,sum(players.goals) from players,team where player.team_id=teams.id group by teams.name; 
+2

當教授現在只介紹給SQL的人時,請避免使用隱式連接語法。只使用正確的連接語法 – sagi

+0

好的,謝謝你的建議@sagi – Yaz

相關問題