首页 > 解决方案 > 加入其他表并获得聚合 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

标签: sqlpostgresql

解决方案


如果我理解,这是一个joinand 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,以防两个用户具有相同的名称。


推荐阅读