如何在MS Access单条查询中针对两个条件获取多个SUM()结果
在MS Access中一次性计算不同Type的Total总和
没问题,在MS Access里用单条SQL查询就能轻松搞定这个需求,给你两种实用的写法,你可以根据自己的显示偏好选择:
方法1:同一行显示两个总和(推荐)
用Access原生支持的IIF()函数配合SUM()做条件聚合,能把RS和WS的总和放在同一行结果里,看起来更直观:
SELECT SUM(IIF(type = 'RS', total, 0)) AS RS_Total_Sum, SUM(IIF(type = 'WS', total, 0)) AS WS_Total_Sum FROM 你的表名; -- 记得把这里替换成你实际的数据表名称
小说明:
IIF(type = 'RS', total, 0):判断当前行的type是否为RS,如果是就取total的值,否则取0- 外层的
SUM()会把所有符合条件的值累加起来,最终得到对应类型的总和
方法2:分两行显示各自总和
如果你想让RS和WS的结果分开成两行展示,可以用GROUP BY结合UNION ALL:
SELECT 'RS' AS Type, SUM(total) AS Total_Sum FROM 你的表名 WHERE type = 'RS' UNION ALL SELECT 'WS' AS Type, SUM(total) AS Total_Sum FROM 你的表名 WHERE type = 'WS';
小说明:
- 第一部分查询计算RS类型的总和,第二部分计算WS的,
UNION ALL把两个结果合并成一个数据集,每行对应一个类型的总和
记得把上面代码里的你的表名替换成你实际使用的数据表名称哦~
内容的提问来源于stack exchange,提问作者Mangrio
相关产品推荐
相关产品推荐

