Sql 总平均值,忽略分组
我在Microsoft Access中创建了如下查询: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()。但正
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计算平均值
- 如果不想查看详细信息,请将“详细信息”部分设置为不可见
- 计算报告页脚中的“总平均值”
- 你的报告以表1为基础
- 按LoanType创建组到组
- 按组页脚中的LoanType计算平均值
- 如果不想查看详细信息,请将“详细信息”部分设置为不可见
- 计算报告页脚中的“总平均值”
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;