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

在ACCESS中统计CONO列不同值数量并插入单表的SQL需求

Access 数据库统计指定值出现次数的解决方案

我明白你在Access里用多个WHERE子句统计这类数据时的困扰,其实不用拆分多个WHERE,用Access支持的IIF函数配合聚合函数就能一次性搞定。

先明确你的需求:
原始数据(假设表名为你的表名):

FLAG CONO
MMS001 100
MMS001 100
MMS001 300
MMS001 700
MMS001 700
MMS001 700

想要得到的统计结果:

NB_ROWS NB_100 NB_300 NB_700 NB_800
6 2 1 3 0

直接用下面的SQL语句就能实现,我给你拆解下逻辑:

  • COUNT(*) 统计总记录数,对应NB_ROWS
  • SUM(IIF(CONO = 目标值, 1, 0)) 是核心:每遇到符合条件的CONO就计1,否则计0,求和后就是该值的出现次数。Access里没有CASE WHEN,所以用IIF来做条件判断。

完整SQL代码:

SELECT 
    COUNT(*) AS NB_ROWS,
    SUM(IIF(CONO = 100, 1, 0)) AS NB_100,
    SUM(IIF(CONO = 300, 1, 0)) AS NB_300,
    SUM(IIF(CONO = 700, 1, 0)) AS NB_700,
    SUM(IIF(CONO = 800, 1, 0)) AS NB_800
FROM 
    你的表名; -- 记得把这里替换成你实际使用的表名

小提示:如果你的CONO字段是文本类型(而非数字类型),记得把判断条件里的数值改成字符串形式,比如IIF(CONO = '100', 1, 0),不然会出现统计错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:41:33