Sql 计数+IIF-访问查询

Sql 计数+IIF-访问查询,sql,ms-access,count,iif,Sql,Ms Access,Count,Iif,公司的员工分为A类、B类和C类,不考虑他们在财务、人力资源、销售 如何编写Access 2010查询以检索每个类别和每个部门的员工数量 最终输出将是excel表格,其中公司部门将位于A列,B列为A类,B列为B类,D列为C类 我认为一个嵌套在计数中的IIF可以完成这项工作,但它实际上是计算员工总数,而不是按类别给出细分 有什么想法吗 SELECT tblAssssDB.[Division:], COUNT( IIF( [Category] = "A", 1, 0 ) ) AS

公司的员工分为A类、B类和C类,不考虑他们在财务、人力资源、销售

如何编写Access 2010查询以检索每个类别和每个部门的员工数量

最终输出将是excel表格,其中公司部门将位于A列,B列为A类,B列为B类,D列为C类

我认为一个嵌套在计数中的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语句,避免编写子查询来计算每个分区的值。

使用GROUP BY而不是IIF。试试这个:

SELECT [Division:], [Category], Count([Category]) AS Category_Count
FROM tblAssssDB
GROUP BY [Division:], [Category];
使用GROUP BY而不是IIF。试试这个:

SELECT [Division:], [Category], Count([Category]) AS Category_Count
FROM tblAssssDB
GROUP BY [Division:], [Category];
计数计数每个非空值。。。因此,不管[Category]值是多少,每行计算1

如果你想坚持下去

CountIIf[类别]=A,1,空 否则切换到总和

SumIIf[类别]=A,1,0 计数计数每个非空值。。。因此,不管[Category]值是多少,每行计算1

如果你想坚持下去

CountIIf[类别]=A,1,空 否则切换到总和

SumIIf[类别]=A,1,0 尝试此计数:

Count(IIf([Field1]="N",1))+Count(IIf([Field2]="N",1)) ...
我将qry和place表达式分组在我创建的这个Count字段下。这对我很有效

试试这个计数:

Count(IIf([Field1]="N",1))+Count(IIf([Field2]="N",1)) ...

我将qry和place表达式分组在我创建的这个Count字段下。这对我很有效

使用sum而不是Count你看了交叉表吗?使用sum而不是Count你看了交叉表吗?选择accessed.[Division:],CountIIf[Category]='A',1,null作为Count_A,CountIIf[Category]='B',1,null作为Count_C从tblasssdb GROUP BY tblasssdb中逐个tblasssdb.[Division:]选择accessed。[Division]、CountIIf[Category]='A',1、作为计数A为空、CountIIf[Category]='B',1、作为计数B为空、CountIIf[ET结果]='C',1、作为计数C为空,由TBlasssDB从TBlasssDB组按TBlasssDB划分。[Division:]