小编Ahm*_*met的帖子

来自COUNT查询的意外结果

从一张桌子算起来时,我遇到了一个奇怪的问题.表名是Client,并且有一个名为CardNovarchar(200)列.数据库引擎是Intersystems Cache,查询语法是SQL.

我执行下面的查询以获得具有/没有CardNo的客户端的数量.但得到意想不到的结果如下.

select count(*) from Client
where CardNo is null
--Result: 38000

select count(*) from Client
where CardNo is not null
--Result: 78000

select count(*) from Client
--Result: 265000
Run Code Online (Sandbox Code Playgroud)

没有CardNo的客户端数量是38000.CardNo的客户端数量是78000.表中所有客户端的数量是265000,不等于78000 + 38000.这怎么可能发生?根据文档,查询样式应该没有问题 http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_null

sql database intersystems count intersystems-cache

3
推荐指数
1
解决办法
108
查看次数

标签 统计

count ×1

database ×1

intersystems ×1

intersystems-cache ×1

sql ×1