【问题标题】:Printing Average Score for Unique ID's打印唯一 ID 的平均分数
【发布时间】:2021-03-24 16:15:42
【问题描述】:

我有一张桌子

id | playerID | score
1  |    1     | 100
2  |    1     | 155
3  |    5     | 132

等等。

我想要做的是获取每个唯一 playerID 的平均“分数”。我可以得到 DISTINCT playerIDs

SELECT DISTINCT 
    playerID
FROM
    dbo.scores

我可以得到所有分数的平均值,

SELECT
    AVG(score)
FROM
    dbo.scores

但我似乎无法弄清楚如何将两者结合起来。

【问题讨论】:

  • 用您正在使用的数据库标记您的问题。

标签: sql sql-server average aggregate-functions


【解决方案1】:

使用group by

SELECT playerID, AVG(score) AS avg_score
FROM dbo.scores
GROUP BY playerID

【讨论】:

    【解决方案2】:

    dbo 的使用表明您正在使用 SQL Server。 SQL Server 对整数值进行整数平均值,因此01 的平均值是0,而不是0.5

    我会推荐:

    SELECT s.playerID, AVG(10. * s.score) AS avg_score
    FROM dbo.scores s
    GROUP BY s.playerID
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-08
      • 1970-01-01
      • 2017-02-09
      • 2021-06-20
      • 1970-01-01
      相关资源
      最近更新 更多