chh*_*yal 3 azure azure-cosmosdb
我正在尝试Azure DocumentDB,他们的文档说支持聚合.的确,我能做到COUNT:
SELECT value COUNT(1) FROM c WHERE c.id = 'someid'
Run Code Online (Sandbox Code Playgroud)
但是,如果我按照相同的语法来执行其他类型的聚合,则它似乎不起作用.
SELECT value MAX(value) FROM c WHERE c.id = 'someid'
Run Code Online (Sandbox Code Playgroud)
给出错误.这与MIN相同.
看起来不支持聚合(即使文档另有说明).或者有不同的方法吗?
为了MAX()工作,您需要在给定的属性上进行聚合.例如,如果您有一些带有range属性的文档:
{
"id": "max1",
"range": 50
}
{
"id": "max2",
"range": 20
}
Run Code Online (Sandbox Code Playgroud)
您将获得rangevia 的最大值:
SELECT MAX(c.range) from c
Run Code Online (Sandbox Code Playgroud)
哪个回报:
[
{
"$1": 50
}
]
Run Code Online (Sandbox Code Playgroud)
要么
SELECT VALUE MAX(c.range) from c
Run Code Online (Sandbox Code Playgroud)
哪个回报:
[
50
]
Run Code Online (Sandbox Code Playgroud)
注意:在您的问题示例中,您使用c.value.VALUE是一个保留字,所以你需要引用为c['value'].例如:
SELECT VALUE MAX(c['value']) from c
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2538 次 |
| 最近记录: |