sql—检索每个记录(id)的计数(在SDB中有一个条件)

crcmnpdw  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(370)

我在宇宙数据库里有一个容器,里面装着东西。我需要找出我的容器中有多少记录的计数,条件是:来源和日期
这是一个示例json模式,我的每个记录/项都保存在这个模式中。每个记录都有一个唯一的id,并作为单个计数。

{
"id": "1111111111122222222233333333",
"feedback": {
    "Source": "test"
    "Date": "1980-10-15T00:04:34Z",
    "Ser": "test",
    "Count_Of_Comments": "1",
    "Count_Of_Votes": "1"
}

cosmosdb中的容器如下所示:

目标:**我希望返回基于来源和日期的id记录的数量(或计数)。这是我尝试过的(下面),但是这似乎不起作用,我想知道我是否遗漏了一些东西。如有任何帮助或建议,我们将不胜感激。

SELECT VALUE COUNT(c.id), c.Source, c.Date
 FROM C
 Where Source == "test", AND Date == "1980-10-15T00:04:34Z"
biswetbf

biswetbf1#

正如david评论的那样,存在一些语法错误。请尝试以下sql:

SELECT value COUNT(c.id) FROM c Where c.feedback.Source = "test" AND c.feedback.Date = "1980-10-15T00:04:34Z"

如果你需要的话 Source 以及 Date ,您可以尝试以下方法:

SELECT  COUNT(c.id) AS Count,max(c.feedback.Source) as Source,max(c.feedback.Date) as Date
    FROM c
    Where c.feedback.Source = "test" AND c.feedback.Date = "1980-10-15T00:04:34Z"

顺便说一下,两者都是 COUNT(c.id) 以及 COUNT(1) 在您的情况下可以实现您的目标。有关sql查询的更多详细信息,请参阅此文档。
希望这能对你有所帮助。

相关问题