You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access中And/Or运算符使用与多字段计数问题求助

解决2015年前总晋升次数统计问题

你的问题很典型——当前的SQL用OR条件筛选记录,只会统计有至少一次符合条件晋升的员工数量,而不是把所有符合条件的晋升次数加起来。咱们直接改代码就能解决:

SELECT SUM(
    IIF([Date of 1st Promotion]<#1/1/2015#,1,0) +
    IIF([Date of 2nd Promotion]<#1/1/2015#,1,0) +
    IIF([Date of 3rd Promotion]<#1/1/2015#,1,0) +
    IIF([Date of 4th Promotion]<#1/1/2015#,1,0) +
    IIF([Date of 5th Promotion]<#1/1/2015#,1,0)
) AS [Total Promotions Before 2015]
FROM [Employment History];

为什么这个写法能行?

  • 对每一条员工记录,我们逐个检查5个晋升日期:如果日期在2015年1月1日之前,就计1次,否则计0次
  • 把这5个数值相加,得到单个员工在2015年前的总晋升次数
  • 最后用SUM()函数把所有员工的次数累加,就得到了你要的全局总晋升次数

小补充:如果某些晋升日期字段是NULL(比如员工没有第4、5次晋升),Access的IIF()会自动把NULL判定为不符合条件,返回0,所以不用额外处理空值的情况。

内容的提问来源于stack exchange,提问作者James May

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:31:33