我正在做一些 SQL 作业,有人可以向我解释一下如何完成这个问题。
- 显示“Dolphins”队的平均原始得分(1 分)
这是数据结构的图像。
我需要进行一个查询,返回 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 语句来从投球手得分表中的所有个人原始得分中获取该队每个球员的平均原始得分。
最佳答案
如果您需要海豚队每个成员的平均个人得分,您可以使用以下方法:
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 即可。
关于mysql - SQL 对于每个语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45384589/