我有一个下表,我需要计算特定组处于特定门状态的实例,但不知道如何使用 Access SQL 进行操作。 非常感谢您的帮助!
团体 | 任务 | 状态 |
---|---|---|
组1 | 任务1 | 1号门 |
组1 | 任务2 | 3号门 |
组1 | 任务3 | 3号门 |
组1 | 任务4 | 4号门 |
组1 | 任务5 | 5号门 |
组1 | 任务6 | 5号门 |
组1 | 任务7 | 5号门 |
组2 | 任务1 | 3号门 |
组2 | 任务2 | 3号门 |
组2 | 任务3 | 5号门 |
第3组 | 任务1 | 4号门 |
第3组 | 任务1 | 4号门 |
需要查询来显示这一点:
团体 | 1号门 | 2号门 | 3号门 | 4号门 | 5号门 |
---|---|---|---|---|---|
组1 | 1 | 0 | 2 | 1 | 3 |
组2 | 0 | 0 | 2 | 0 | 1 |
第3组 | 0 | 0 | 0 | 2 | 0 |
如果您想获得这些结果,我会考虑使用交叉表查询,这非常简单。
第 1 步。确保您已准备好桌子。
第 2 步.创建 > 查询向导
步骤 3. 交叉表查询向导
步骤 4.表格(假设您使用的是数据表)
第 5 步。选择“分组”到垂直的 Y 轴
步骤 6. 在水平 X 轴上选择状态
第 7 步:计算 ID (如果您有 ID 列,如果没有,您可能需要制作一个)
第8步.完成查询。
请注意,您没有门 2 的状态,因此您必须在数据集中输入虚拟记录或对其进行不同的建模。
这是查询编辑器中的 JET SQL
TRANSFORM Count(Sheet1.[ID]) AS CountOfID
SELECT Sheet1.[Group], Count(Sheet1.[ID]) AS [Total Of ID]
FROM Sheet1 --Whatever your table name is
GROUP BY Sheet1.[Group]
PIVOT Sheet1.[Status];