Mysql 每条语句的SQL
我正在做一些SQL作业,有人能给我解释一下如何完成这个问题吗 显示团队1分的平均原始分数 这是数据结构的图像 我需要做一个查询,返回4名玩家的平均原始分数。 然而,当我尝试执行下面的代码时,它只返回一个平均值Mysql 每条语句的SQL,mysql,Mysql,我正在做一些SQL作业,有人能给我解释一下如何完成这个问题吗 显示团队1分的平均原始分数 这是数据结构的图像 我需要做一个查询,返回4名玩家的平均原始分数。 然而,当我尝试执行下面的代码时,它只返回一个平均值 /* Question 2 */ SELECT AVG(RawScore) FROM Bowler_Scores WHERE BowlerID IN ( SELECT BowlerID FROM Bowlers WHERE TeamID = ( SELECT TeamID FROM Tea
/* 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可以有多个得分。
例如,它可能有记录-43101 50301和43106
我不知道如何编写和sql语句,从bowler分数表中的所有个人原始分数中获取该队每个球员的平均原始分数。如果您需要海豚队每个成员的平均个人分数,可以使用以下方法:
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 lines中删除BowlerID。它表示字段列表中的错误1052列BowlerID不明确。请将表名添加到列中。例如,请参阅join的on子句。您还需要添加where子句,以将结果限制到所需的一个团队名称。我该怎么做?因为BowlerID同时位于Bowlers表和Bowlers_分数表中,所以必须在字段之前添加表名,以便SQL知道使用哪一个表名。这是一种非常糟糕的方法,并且它不能真正解决OP中的问题。此外,请不要在注释中发布代码。