首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有WHERE子句的Azure Cosmos SQL结果没有意义

带有WHERE子句的Azure Cosmos SQL结果没有意义
EN

Stack Overflow用户
提问于 2020-09-21 00:55:19
回答 1查看 493关注 0票数 0

我在我的Cosmos数据库上运行了一些查询,结果似乎没有意义。当我知道我应该得到一些结果时,我却用一些查询得到了0个结果。以下是查询的结果:

代码语言:javascript
复制
SELECT COUNT(c.id) from c where c.ownerTime='2010775021_202009'                        -- 165229
SELECT COUNT(c.id) from c where c.ownerTime='2010775021_202009' and c.source='five9'   -- 132100
SELECT COUNT(c.id) from c where c.ownerTime='2010775021_202009' and c.source<>'five9'  -- 0
SELECT COUNT(c.id) from c where c.ownerTime='2010775021_202009' and c.source=null      -- 0

我的目标是获得source属性不等于'five9‘的所有项目的计数。但该查询(如上所示)返回的计数为0。如您所见,在第一个查询中,此分区中的条目总数为165,229。根据第二个查询,此分区中source等于'five9‘的项的总数为132,100。常识告诉我,源不等于'five9‘的项数应该是33,129。为什么我的查询显示为0?

要记住的一件事是,当我检查原始形式的项时,没有source='five9'的项根本没有source属性。这可能是导致这种行为的原因吗?此外,ownerTime是分区键。

下面是一个小的数据样本:

代码语言:javascript
复制
SELECT c.id,c.ownerTime,c.source from c where c.ownerTime='2010775021_202009'
...
{
    "id": "L2n8D4c4GOFQTUA",
    "ownerTime": "2010775021_202009"
},{
    "id": "3524zXL55zQmQ8qk",
    "ownerTime": "2010775021_202009",
    "source": "five9"
}
...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-21 09:23:20

请尝试此sql:

代码语言:javascript
复制
SELECT COUNT(c.id) from c where c.ownerTime='2010775021_202009' and (not IS_DEFINED(c.source) or c.source<>'five9')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63981481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档