Avg of a Sum in one query

后端 未结 3 1990
感情败类
感情败类 2020-12-13 19:36

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:

相关标签:
3条回答
  • 2020-12-13 20:05

    If you are trying to get the average assets of clients I think I would use at CTE. You can try if sql 2005 or greater

    EDIT: Took the second group by out as I think you want just one result here of average assets

    With clientsum (client,assets)
    as
    (
        SELECT     CLIENT, SUM(asset) AS assets
        FROM         CLIENTTABLE
        GROUP BY CLIENT
    )
    SELECT avg(assets) AS Expr1
    FROM  clientsum
    
    0 讨论(0)
  • 2020-12-13 20:08

    Its very simple

    for ex.

     SELECT t.client, 
             SUM(t.asset)/count(t.asset) AS average
        FROM TABLE t
    GROUP BY t.client
    

    in "average" you will get average of "t.asset"

    0 讨论(0)
  • 2020-12-13 20:16

    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
    

    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
    

    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.

    0 讨论(0)
提交回复
热议问题