sql - 加入其他表并获得聚合 d
问题描述
我有两个表用户和分数,每个用户都有多个分数。如何使用用户名查询平均分数:
例如:杰克 6 假 5
用户
Name user_id
Jack 123
Tony 234
Sham 456
分数
id score user_id
1 4 123
2 8 123
3 9 234
4 2 456
5 10 456
6 3 456
解决方案
如果我理解,这是一个join
and group by
:
select u.name, avg(s.score)
from users u join
scores s
using (user_id)
group by user_id, u.name;
请注意,我已包含user_id
在 中group by
,以防两个用户具有相同的名称。
推荐阅读
- javascript - 单例不能跨多个文件Nodejs工作
- javascript - 获取给定数字周围的数字范围
- c# - 为什么整数运算结果在 VB.NET 和 C# 中显示不同的值?
- python - 如何从 jvm 导入 Scala 案例对象?
- networking - 为什么 NSE 的网站不响应来自 GCP VM 的 GET 请求,而是响应来自本地机器的请求?
- javascript - 在 React 中渲染和显示对象数组的正确方法
- swift - 如何在 xcode 中的地图上显示注释?
- javascript - 获取数组内的对象
- java - Gradle 无法从 nexus 存储库获取依赖项?
- permissions - 为什么 lxc 命令给了我权限被拒绝的错误?