我在我的Cosmos数据库上运行了一些查询,结果似乎没有意义。当我知道我应该得到一些结果时,我却用一些查询得到了0个结果。以下是查询的结果:
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是分区键。
下面是一个小的数据样本:
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"
}
...发布于 2020-09-21 09:23:20
请尝试此sql:
SELECT COUNT(c.id) from c where c.ownerTime='2010775021_202009' and (not IS_DEFINED(c.source) or c.source<>'five9')https://stackoverflow.com/questions/63981481
复制相似问题