打印唯一 ID 的平均分数

Printing Average Score for Unique ID's

我有一个table

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

等..

我想要做的是获取每个唯一玩家 ID 的平均值 'score'。我可以获得 DISTINCT playerIDs

SELECT DISTINCT 
    playerID
FROM
    dbo.scores

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

SELECT
    AVG(score)
FROM
    dbo.scores

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

使用group by!

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

使用dbo表明您使用的是SQL服务器。 SQL 服务器计算整数值的 整数 平均值,因此 01 的平均值是 0,而不是 0.5.

我会推荐:

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