如何根据另一列的值获得一列的平均值?

Jac*_*10k 2 mysql sql-server

SQL问题

我目前正在尝试根据另一列的共享值获取某一列的某个子集的平均值。以下是一些示例数据:

Score     Player
  5          1
  9          1
  7          1
  8          2
  3          2
  6          2
Run Code Online (Sandbox Code Playgroud)

那么我怎样才能分别得到玩家 1 和玩家 2 的平均得分呢?我的第一个想法是尝试这样的事情:

SELECT AVG(score) FROM table WHERE DISTINCT player
Run Code Online (Sandbox Code Playgroud)

但是,当然,distinct这只适用于select查询的部分。我使用子查询的任何尝试都会导致错误:

子查询返回多行。

任何人可以提供的任何帮助将不胜感激。

shm*_*sel 5

听起来您正在寻找GROUP BY

SELECT Player, AVG(Score)
  FROM my_table
 GROUP BY Player;
Run Code Online (Sandbox Code Playgroud)