打印唯一 ID 的平均分数



我有一个表

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

等等。。

我想做的是获得每个唯一playerID的平均"分数"。我可以获得DISTINCT播放器ID

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 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

最新更新