总平均,忽略GROUP BY

时间:2018-07-18 21:41:22

标签: sql ms-access average

我在Microsoft Access中创建了一个查询,如下所示:

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

FROM Table1
GROUP BY LoanType

输出如您所愿,每种贷款类型的平均贷款额和平均贷款利率。

但是,我希望访问报告能够计算所有贷款的平均值,而与贷款类型无关,并将此行放在最底端。使用Access中的“报告”视图,可以添加“总计”行,您可以在其中编写诸如COUNT(),SUM(),AVG()之类的公式。但是,您知道,计算平均值与基本数学背道而驰。

我假设必须在SQL / Query级别创建此“总计”行。但我似乎无法弄清楚。任何输入将不胜感激!

2 个答案:

答案 0 :(得分:4)

您可以使用UNION ALL添加具有类似查询的行,只是没有GROUP BY的{​​{1}}和NULL的{​​{1}}(或者您喜欢的任何其他值)因为它可以隐式转换为LoanType的数据类型。

LoanType

答案 1 :(得分:1)

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

  • 将报告基于表1。
  • 创建一个要按LoanType分组的组。
  • 通过组页脚中的LoanType计算平均值。
  • 如果您不想看到详细信息,请将“详细信息”部分设置为不可见。
  • 计算报告页脚中的“总平均值”。