Sql 总平均值,忽略分组

Sql 总平均值,忽略分组,sql,ms-access,average,Sql,Ms Access,Average,我在Microsoft Access中创建了如下查询: SELECT LoanType ,Avg(Loan Amount) ,Avg(Loan Rate) FROM Table1 GROUP BY LoanType 正如您所期望的,输出是每种贷款类型的平均贷款金额和平均贷款利率 但是,我想让我的Access报告计算所有贷款的平均值,不管贷款类型如何,并将这一行放在最底部。使用Access中的报告视图,可以添加一个“总计”行,在该行中可以编写公式,如COUNT()、SUM()、AVG()。但正

我在Microsoft Access中创建了如下查询:

SELECT LoanType
,Avg(Loan Amount)
,Avg(Loan Rate)

FROM Table1
GROUP BY LoanType
正如您所期望的,输出是每种贷款类型的平均贷款金额和平均贷款利率

但是,我想让我的Access报告计算所有贷款的平均值,不管贷款类型如何,并将这一行放在最底部。使用Access中的报告视图,可以添加一个“总计”行,在该行中可以编写公式,如COUNT()、SUM()、AVG()。但正如你所知,计算一个平均值的平均值违背了基础数学


我假设我必须在SQL/查询级别创建这个“总计”行。但我似乎不明白。任何意见都将不胜感激

您可以使用
UNION ALL
添加具有类似查询的行,只需不使用
groupby
NULL
作为
LoanType
(或任何其他您喜欢的值,只要它可以隐式转换为
LoanType
)的数据类型即可


您可以使用
UNION ALL
添加具有类似查询的行,而不使用
groupby
LoanType
NULL
(或任何其他您喜欢的值,只要它可以隐式转换为
LoanType
的数据类型)


当然,您可以完全按照您所描述的操作:构建一个按LoanType计算平均值的查询,在此查询上构建一个报告,并在报告页脚中计算平均值。不幸的是,这个“总平均值”将是平均值的平均值,但我想你想要所有记录的平均值。为实现这一目标:

  • 你的报告以表1为基础
  • 按LoanType创建组到组
  • 按组页脚中的LoanType计算平均值
  • 如果不想查看详细信息,请将“详细信息”部分设置为不可见
  • 计算报告页脚中的“总平均值”

您自己可以完全按照您所描述的操作:构建一个按LoanType计算平均值的查询,在此查询上构建一个报告,并在报告页脚中计算平均值。不幸的是,这个“总平均值”将是平均值的平均值,但我想你想要所有记录的平均值。为实现这一目标:

  • 你的报告以表1为基础
  • 按LoanType创建组到组
  • 按组页脚中的LoanType计算平均值
  • 如果不想查看详细信息,请将“详细信息”部分设置为不可见
  • 计算报告页脚中的“总平均值”

如果您将每种类型的所有金额相加,并将每种类型的计数相加。然后将总数除以总计数。这不是总平均数吗?或者您可以将所有数据合并到一个select for total averages。在“Totals”行中,您可以使用COUNT(),但我非常确定这将计算报表中的行数,而不是基础数据。然而,UNION ALL功能确实起作用。谢谢如果对每种类型的所有金额总和进行求和,则对每种类型的计数进行求和。然后将总数除以总计数。这不是总平均数吗?或者您可以将所有数据合并到一个select for total averages。在“Totals”行中,您可以使用COUNT(),但我非常确定这将计算报表中的行数,而不是基础数据。然而,UNION ALL功能确实起作用。谢谢
SELECT LoanType,
       Avg(Loan Amount)
       Avg(Loan Rate)
       FROM Table1
       GROUP BY LoanType
UNION ALL
SELECT NULL,
       Avg(Loan Amount)
       Avg(Loan Rate)
       FROM Table1;