我正在尝试Azure DocumentDB及其documentation says aggregation is supported。实际上,我可以通过以下方式COUNT
进行:
SELECT value COUNT(1) FROM c WHERE c.id = 'someid'
但是,如果我按照相同的语法进行其他类型的聚合,它似乎无法正常工作。
SELECT value MAX(value) FROM c WHERE c.id = 'someid'
给出错误。这与MIN相同。
看起来不支持聚合(即使文档另有说明)。或者有不同的方法吗?
答案 0 :(得分:6)
要使MAX()
生效,您需要在给定的属性上进行聚合。例如,如果您有一些带有range
属性的文档:
{
"id": "max1",
"range": 50
}
{
"id": "max2",
"range": 20
}
您通过以下方式获取range
的最大值:
SELECT MAX(c.range) from c
返回:
[
{
"$1": 50
}
]
或者
SELECT VALUE MAX(c.range) from c
返回:
[
50
]
注意:在您的问题的示例中,您使用的是c.value
。 VALUE
是保留字,因此您需要引用c['value']
。例如:
SELECT VALUE MAX(c['value']) from c