我正在做一些SQL作业,有人可以向我解释如何完成这个问题。
这是数据结构的图像。
我需要进行一个返回4个玩家的平均原始分数的查询。 但是,当我尝试执行下面的代码时,它只返回一个平均值。
/* Question 2 */
SELECT AVG(RawScore)
FROM Bowler_Scores
WHERE BowlerID IN
(
SELECT BowlerID
FROM Bowlers
WHERE TeamID =
(
SELECT TeamID
FROM Teams
WHERE TeamName = "Dolphins"));
在投球手得分中,每个投球手ID都可以有多个分数。 例如,它可能有记录 - (43,101)(50,301)和(43,106)。
我不知道如何编写和sql语句,可以从投球手得分表中的所有单个原始分数中获得该团队中每个玩家的平均原始分数。
答案 0 :(得分:1)
如果你需要海豚队每个成员的平均个人得分,你可以使用:
Select Teams.TeamName, Bowlers.BowlerID, avg(Rawscore)
from Bowlers
inner join Teams
on Bowlers.TeamId = Teams.TeamID
inner join Bowler_Scores
on Bowlers.BowlerID = Bowler_Scores.BowlerID
where teams.teamname = 'Dolphins'
group by TeamName, BowlerID
如果您只需要团队的一个平均分数,那么只需从SELECT和GROUP BY行中删除BowlerID。