鉴于cosmos db不支持group by,有什么是实现类似功能的好方法:
>>> dct = MyDict()
>>> dct[Obj('item1')] = 1
>>> dct[Obj('item2')] = 2
>>> dct
{'item1': 1, 'item2': 2}
>>> dct['item1']
1
>>> dct[Obj('item1')]
1
我可以在宇宙存储过程中有效地实现这一点吗?
答案 0 :(得分:9)
如Cosmos_DB所述:
SQL中的聚合功能仅限于COUNT,SUM,MIN,MAX,AVG功能。不支持GROUP BY或数据库系统中的其他聚合功能。但是,存储过程可用于实现数据库内聚合功能。
我可以在宇宙存储过程中有效地实现这一点吗?
适用于.NET和Node.js
Larry Maccherone提供了一个很棒的包documentdb-lumenize,它支持聚合(分组,数据透视表和N维立方体)和时间序列转换作为DocumentDB中的存储过程。
此外,对于Python和Scala,您可以参考azure-cosmosdb-spark。
答案 1 :(得分:6)
分组依据。您将需要SDK版本3.3或更高版本
Azure Cosmos DB当前在.NET SDK 3.3或更高版本中支持GROUP BY。 目前不支持其他语言的SDK和Azure门户 可用,但已计划。
https://docs.microsoft.com/en-gb/azure/cosmos-db/sql-query-group-by
答案 2 :(得分:2)
最后,Azure Cosmos DB当前支持GROUP BY in .NET SDK 3.3
或更高版本。目前尚不支持其他语言的SDK和Azure门户。
<group_by_clause> ::= GROUP BY <scalar_expression_list>
<scalar_expression_list> ::=
<scalar_expression>
| <scalar_expression_list>, <scalar_expression>