一个查询中总和的平均值

2022-01-09 00:00:00 average sql sum tsql sql-server

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

I would like to know if I can get the average of a sum in one single SQL SERVER request,

已尝试通过以下请求执行此操作,但不起作用:

Have tried to do it with the following request but it doesn't work:

  SELECT t.client, 
         AVG(SUM(t.asset)) AS Expr1
    FROM TABLE t
GROUP BY t.client

推荐答案

我觉得你的问题需要解释一下.如果您想获取按 t.client 分组的总和,您可以使用:

I think your question needs a bit of explanation. If you want to take the sums grouped by t.client you can use:

SELECT t.client, SUM(t.asset)
FROM the-table t
GROUP BY t.client

那么,如果你想取这个 sum 的平均值,只需做:

Then, if you want to take the average of this sume, just make:

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 分组.

You can't however group the outer query, because this will give you results like in the first query. The results from the inner query are already grouped by t.client.

相关文章