如何使用列和行的总计创建Access交叉表查询?

Huc*_*kIt 4 sql ms-access crosstab

我希望我的查询结果如下所示:

          Person1 Person2 Person3 Person4    Total 
Status1         2       4       7       3      16
Status2         0       1       0       3      4
Status3         0       0       0       0      0
Status4         0       1       3       0      4
Total           2       6       10      6      24
Run Code Online (Sandbox Code Playgroud)

我能够获得除底线以外的所有内容:

TRANSFORM Count(personName) 
SELECT status, Count(status) AS Total
FROM table1 
GROUP BY status
PIVOT personName
Run Code Online (Sandbox Code Playgroud)

我找到了一些关于使用UNION来解决最后一行的问题,但我似乎无法做到这一点.这似乎应该是一种常见的活动.

Yuc*_*uck 5

您基本上必须运行两次查询 - 一次获取数据,然后第二次提供聚合.如果您已经开始这样做,请进行第一个查询以将数据返回给自己的对象.然后进行另一个查询以聚合第一个另一个对象.创建一个最终的第三个查询对象,使用UNION你提到的方法将两者结合起来.

虽然我不得不说我不是真的推荐这个.听起来你正试图强制SQL生成一些真正的表示信息(即它不属于同一个数据集).

  • 如果它仅用于报告目的,为什么不使用摘要页脚?例如,您可以将页脚中的文本框值设置为= Sum(person1). (3认同)

小智 5

对于这个问题,实际上有一个简单的解决方案。设计交叉表查询后,进入查询中的设计模式,然后在“主页”选项卡的“记录”部分中选择“总计”。然后您可以选择总和或计数等。

这是提供步骤的链接:http : //office.microsoft.com/zh-cn/access-help/display-column-totals-in-a-datasheet-HA001233062.aspx