访问 SQL 汇总数据
Access SQL Summarize Data
我可以从我的查询在 Excel 中提供的数据中获得我想要的输出,但如果能够直接在 Access 中执行此操作就更好了。
我return一个table这样的:
Date kName NumKits ActKits dName NumDoses ActDoses
---------------------------------------------------------------------
11/03/2018 AA 5 1000 BB 12 3400
12/03/2018 CC 7 1100 AA 10 4120
etc..
任何名称都可以出现在任一列中,也可能同时出现在两列中。所提供数据的标准是日期范围。
我要将此信息汇总如下:
(Sum) (Sum) (Count) (Sum) (Sum) (Count)
Name KitMade KitActivity KitSession DosesMade DoseActivity DoseSession
----------------------------------------------------------------------------
AA 26 42015 3 40 35420 4
BB (etc...)
保留日期过滤器。
我最初的想法是查询两次,将 Kits 和 Doses 分开,然后将它们重新组合在一起;但我确定一定有更简单的方法?
使用Access 2016,数据全部由实际信息更改。
您似乎想要这样的东西:
select name, sum(numkits) as numkits, sum(actkits) as actkits, sum(kitcnt) as numkits,
sum(numdoses) as numdoses, sum(actdoses) as actdoses, sum(dosecnt) as dosecnt
from (select kname as name, 1 as kitcnt, numkits, actkits, 0 as dosecnt, 0 as numdoses, 0 as actdoses
from t
union all
select kname, 0 as kitcnt, 0 as numkits, 0 as actkits, 1 as dosecnt, numdoses, actdoses
from t
) as t
group by name;
我认为某些旧版本的 MS Access 不支持 FROM
子句中的 union all
。如果这是一个问题,您可以通过创建视图来解决它。
我可以从我的查询在 Excel 中提供的数据中获得我想要的输出,但如果能够直接在 Access 中执行此操作就更好了。
我return一个table这样的:
Date kName NumKits ActKits dName NumDoses ActDoses
---------------------------------------------------------------------
11/03/2018 AA 5 1000 BB 12 3400
12/03/2018 CC 7 1100 AA 10 4120
etc..
任何名称都可以出现在任一列中,也可能同时出现在两列中。所提供数据的标准是日期范围。
我要将此信息汇总如下:
(Sum) (Sum) (Count) (Sum) (Sum) (Count)
Name KitMade KitActivity KitSession DosesMade DoseActivity DoseSession
----------------------------------------------------------------------------
AA 26 42015 3 40 35420 4
BB (etc...)
保留日期过滤器。
我最初的想法是查询两次,将 Kits 和 Doses 分开,然后将它们重新组合在一起;但我确定一定有更简单的方法?
使用Access 2016,数据全部由实际信息更改。
您似乎想要这样的东西:
select name, sum(numkits) as numkits, sum(actkits) as actkits, sum(kitcnt) as numkits,
sum(numdoses) as numdoses, sum(actdoses) as actdoses, sum(dosecnt) as dosecnt
from (select kname as name, 1 as kitcnt, numkits, actkits, 0 as dosecnt, 0 as numdoses, 0 as actdoses
from t
union all
select kname, 0 as kitcnt, 0 as numkits, 0 as actkits, 1 as dosecnt, numdoses, actdoses
from t
) as t
group by name;
我认为某些旧版本的 MS Access 不支持 FROM
子句中的 union all
。如果这是一个问题,您可以通过创建视图来解决它。