【发布时间】:2020-04-16 08:16:59
【问题描述】:
假设有两个表,Customer 和 Limit。
Customer 具有以下列:
CustomerId (PK)
Name
Limit 有这些列:
LimitId (PK)
Limitvalue
CustomerId (FK)
这是我的示例数据:
客户
CustomerId Name
----------------------
1 xyz
2 abc
3 uio
限制
LimitValue CustomerId
-------------------------
35303000 1
0 1
3 1
0 2
225140000 2
3 2
现在当我运行这个查询时
select a.Limitvalue, b.CustomerId
from limit a
left join Customer b on a.CustomerId = b.CustomerId
它会返回这样的数据:
这里第一列是限制值,第二列是 customerid。如您所见,一个客户 ID 有多个限制值。我想编写一个查询,向我显示所有限制值与其特定 ID 的平均值。
我尝试添加 avg 函数。这里的左连接应该可以完成工作,但它不起作用。任何人都可以通过生成一些与此类似的示例数据并编写其查询来帮助我,以便我理解这个概念吗?我会很感激的。
【问题讨论】:
-
您能在sqlfiddle.com 上提供一个沙箱进行测试吗?
-
@Blag 抱歉,我是新手,从未使用过 sqlfiddle。
-
@blag 哦,所以我们只需要添加 group by 子句。
-
是的,您需要具体说明数据库应该如何工作,所以如果您不尝试使 AVG 完整,您告诉它“通过分组”来获取平均值表。
-
@Blag 愚蠢的我忘了添加 avg 功能。你的查询很完美。将其标记为答案。
标签: sql sql-server average