一个查询中的平均值的平均值

Roc*_*och 20 sql t-sql sql-server average sum

我想知道我是否可以在一个SQL SERVER请求中获得总和的平均值,

尝试使用以下请求执行此操作但它不起作用:

  SELECT t.client, 
         AVG(SUM(t.asset)) AS Expr1
    FROM TABLE t
GROUP BY t.client
Run Code Online (Sandbox Code Playgroud)

Luk*_*sik 36

我认为你的问题需要一些解释.如果您想要分组的总和,t.client您可以使用:

SELECT t.client, SUM(t.asset)
FROM the-table t
GROUP BY t.client
Run Code Online (Sandbox Code Playgroud)

然后,如果你想取这个sume的平均值,只需:

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
Run Code Online (Sandbox Code Playgroud)

但是,您无法对外部查询进行分组,因为这将为您提供类似于第一个查询的结果.内部查询的结果已经按分组t.client.

  • 我认为你需要将avg(t.asset)改为avg(inner_query.asset) (2认同)
  • 添加你需要别名sum(t.asset)作为资产 (2认同)

Kal*_*hel 15

它非常简单

对于前

 SELECT t.client, 
         SUM(t.asset)/count(t.asset) AS average
    FROM TABLE t
GROUP BY t.client
Run Code Online (Sandbox Code Playgroud)

在"平均值"中,您将获得"t.asset"的平均值

  • 哇,更简单的解决方案的完美示例.有时我喜欢数学! (2认同)