SQL对于每个语句

时间:2017-07-29 02:14:57

标签: mysql

我正在做一些SQL作业,有人可以向我解释如何完成这个问题。

  1. 显示团队'海豚队(1分)
  2. 的平均原始分数

    这是数据结构的图像。

    DataStructure

    我需要进行一个返回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语句,可以从投球手得分表中的所有单个原始分数中获得该团队中每个玩家的平均原始分数。

1 个答案:

答案 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。