mysql - SQL 对于每个语句

标签 mysql

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

  • 显示“Dolphins”队的平均原始得分(1 分)
  • 这是数据结构的图像。

    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 语句来从投球手得分表中的所有个人原始得分中获取该队每个球员的平均原始得分。

    最佳答案

    如果您需要海豚队每个成员的平均个人得分,您可以使用以下方法:

    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/

    相关文章:

    mysql - 使用 Mysql 进行复杂查询

    javascript - 使用 .load() 时 Jquery 表单提交不起作用

    mysql - ORDER BY MySQL 和时间戳

    java - 尝试从我的 Java 应用程序插入此 dateTime 有什么问题?

    mysql - MySQL 的 Vim BNF-like 语法高亮显示

    php - 获取wordpress数据库中最高id的问题

    mysql - 循环中每 50ms 执行一次 SQL 查询

    mysql - 没有多行的 SQL 连接

    php - 使用准备好的语句时是否需要 mysql_real_escape_string()?

    MySQL - 如何在不使用 AUTO_INCRMENT 的情况下添加唯一的 INT 值?