平均在一个查询
问题描述:
我想知道如果我能在一个单独的SQL服务器请求获得一个总和的平均值,平均在一个查询
试图与下面的要求做,但它不工作:
SELECT t.client,
AVG(SUM(t.asset)) AS Expr1
FROM TABLE t
GROUP BY t.client
答
的只是一个结果,在这里,我觉得你的问题需要一点解释。如果你想利用通过t.client
分组的总和,你可以使用:
SELECT t.client, SUM(t.asset)
FROM the-table t
GROUP BY t.client
然后,如果你想利用这个庙的平均值,只是做:
SELECT AVG(asset_sums)
FROM
(
SELECT t.client, SUM(t.asset) AS asset_sums
FROM the-table t
GROUP BY t.client
) as inner_query
但是你不能组外部查询,因为这会为您提供类似于第一个查询的结果。内部查询的结果已被分组为t.client
。
答
如果您试图获得客户的平均资产,我想我会在CTE中使用。你可以尝试,如果SQL 2005或更高
编辑: 接过第二组通过了,我想你想的平均资产
With clientsum (client,assets)
as
(
SELECT CLIENT, SUM(asset) AS assets
FROM CLIENTTABLE
GROUP BY CLIENT
)
SELECT avg(assets) AS Expr1
FROM clientsum
答
其非常简单
例如,
SELECT t.client,
SUM(t.asset)/count(t.asset) AS average
FROM TABLE t
GROUP BY t.client
在
“平均”,你会得到“t.asset”的平均
+0
哇,一个更简单的解决方案的完美例子。有时我喜欢数学! – 2017-04-12 17:56:57
你试图让客户资产的魅力? – Gratzy 2009-10-15 14:46:57
平均每个客户的资产总和 – Roch 2009-10-15 14:47:51