首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何基于另一列构建数据库中平均分数的查询?

如何基于另一列构建数据库中平均分数的查询?
EN

Stack Overflow用户
提问于 2017-08-13 22:52:24
回答 2查看 29关注 0票数 0

现在,我有一张“独一无二”的桌子,看起来像:

代码语言:javascript
复制
+----+-----------------+------+-------+------------+
| id | uniqueid        | name | score | date       |
+----+-----------------+------+-------+------------+
|  1 | bob1            | bob  |     4 | 02-10 |
|  2 | bob2            | bob  |    49 | 02-15 |
|  3 | bob3            | bob  |    48 | 03-01 |
|  4 | cari1           | cari |    76 | 02-15 |
|  5 | cari2           | cari |    60 | 02-16 |
|  6 | cari3           | cari |    71 | 03-05 |
|  7 | john1           | john |    54 | 01-05 |
|  8 | john2           | john |    56 | 02-13 |
|  9 | john3           | john |    53 | 03-13 |
+----+-----------------+------+-------+------------+

我想要的是每个名字的平均分数。所以最后我会得到这样的东西:

代码语言:javascript
复制
+----+---------
|name  | score |
+----+---------
|bob   |  33.6 |
|cari  |  69   |
|john  |  54.3 |
---------------

稍后可能会有更多的名称添加到数据库中,但目前我只关注一个名称。我在一个名字上取得的进展是:

“SELECT *来自名称=‘bob’并选择AVG(得分)的唯一的,但这对我不起作用,它只是提到我的语法有一个错误。即使是这样,它也只对bob这样做,而我需要对每个名称都这样做。

对于如何将这个查询带到我需要的位置,我有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-13 22:57:20

这是一个相当标准的SQL查询。只需将avg函数与适当的group by子句组合(如果希望将结果限制在特定名称中,则需要与where子句组合)。

代码语言:javascript
复制
select name, avg(score) as "average score"
from uniqueids 
where name = 'bob' -- remove this line if you want averages for all names
group by name

示例SQL Fiddle

票数 2
EN

Stack Overflow用户

发布于 2017-08-13 23:51:43

选择name,avg(得分)按名称从uniqueids组中选择;--这将帮助您获得所需的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45665561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档