【发布时间】:2014-05-24 06:56:16
【问题描述】:
公司的员工分为 A、B 和 C 类,无论他们在哪个部门工作(财务、人力资源、销售......)
如何编写查询 (Access 2010) 以检索每个类别和每个部门的员工人数?
最终输出将是一个 Excel 表,其中公司部门将在 A 列中,A 类在 B 列中,B 类在列中,C 类在 D 列中。
我认为嵌套在 COUNT() 中的 IIF() 可以完成这项工作,但它实际上计算的是员工总数,而不是按类别提供细分。
有什么想法吗?
SELECT
tblAssssDB.[Division:],
COUNT( IIF( [Category] = "A", 1, 0 ) ) AS Count_A,
COUNT( IIF( [Category] = "B", 1, 0 ) ) AS Count_B,
COUNT( IIF( [ET Outcome] = "C", 1, 0 ) ) AS Count_C
FROM
tblAssssDB
GROUP BY
tblAssssDB.[Division:];
我的目标是编写单个 sql 语句并避免编写子查询来计算每个部门的值。
【问题讨论】:
-
使用
sum()而不是count() -
你看过交叉表吗?