通过SQL查询计算MS Access中的空白字段

问题描述:

我有一个名为'DEMO'的表。在“性别”一栏下,我想了解我有多少个空白单元格?通过SQL查询计算MS Access中的空白字段

我曾尝试:

SELECT COUNT(SEX)AS CountIfSexNull从演示WHERE(((DEMO.SEX)IS NULL));

然而,得到的0

结果当我使用“查询设计”选择列“SEX”,然后手动筛选空白,我得到的2

查询值正常工作在数字域,即年龄和我得到一个正确的答案,除了代替“为NULL”我使用“0”,即

SELECT COUNT(DEMO_AGE)AS CountIfAgeNull从演示WHERE(DEMO.DEMO_AGE = 0) ;

我正在使用MS Access 2010和.accdb数据库。

+0

“”或“”不为空 - 也许你有一个默认值的柱。否则:更多信息 - 字段类型... – niyou 2014-09-24 14:07:27

+0

Fionnuala的回答是正确的。问题在于你想要计算一个没有数据的列,这就是为什么它显示为0.通过使用COUNT(*)它将查看行,而不是给你正确的答案。 – TJH 2014-09-24 14:13:52

COUNT [Fieldname]不计空,要么使用一个ID或*,例如:

SELECT Count(*) AS CountIfSexNull 
FROM DEMO 
WHERE DEMO.SEX Is Null 

参考:In SQL is there a difference between count(*) and count(<fieldname>)

+0

谢谢!这工作。 – pbb 2014-09-24 14:10:02