sql - 一次查询中总和的平均值

标签 sql sql-server tsql sum average

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

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

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

关于sql - 一次查询中总和的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1572831/

相关文章:

sql - 根据子查询中的值更新查询

如果分组值在源中没有行,SQL Server 如何返回 NULL 而不是 0

php - 当查询包含 & 符号时,Joomla 1.7 DB 查询不起作用

sql - 在 SQL 中而不是在 Group By 中选择列

sql - 根据匹配的列从另一个表的列更新列

java - 具有 SQL Server Identity 列的 Hibernate Save 方法

sql - 如何找到最近的日期?

sql-server - SQL Server 中的 OR 运算符短路

mysql - 如何简化这个sql查询

mysql - 这个自加入是如何工作的?