Azure cosmosdb 基于单个属性获取没有重复项的最新文档

Azure cosmosdb 基于单个属性获取没有重复项的最新文档,azure-cosmosdb,azure-cosmosdb-sqlapi,Azure Cosmosdb,Azure Cosmosdb Sqlapi,我想选择集合中的所有文档,其中只有在项目是最新的(基于“创建的”属性)和不同的(基于属性“模块”中的值)时才应返回该项目 模式采用以下形式(高度简化的版本): 换言之,我只想要基于“modules”属性的没有任何副本的最新文档 { "created": "2020-11-22 15:06:07.331503", "module": "module1", "md5": &qu

我想选择集合中的所有文档,其中只有在项目是最新的(基于
“创建的”
属性)和不同的(基于属性
“模块”
中的值)时才应返回该项目

模式采用以下形式(高度简化的版本):

换言之,我只想要基于
“modules”
属性的没有任何副本的最新文档

{
    "created": "2020-11-22 15:06:07.331503",
    "module": "module1",
    "md5": "ee35165603518835bd9cf",
    "version": "1.0",
},
{"module": "module2"},
{"module": "module3"},
SQL查询肯定不是我最强的查询,我很难将返回所有元素(除了重复项)的查询组合在一起,同时也会被排序。我能想到的最简单的例子是:

SELECT DISTINCT VALUE c.module
FROM c
但这显然不是我想要的

非常感谢您的帮助

您可以尝试以下SQL:

SELECT c.module,max(c.created) as latest FROM c group by c.module
此SQL只能获取两个属性。如果您想获取整个文档,可以参考此内容。

您可以尝试以下SQL:

SELECT c.module,max(c.created) as latest FROM c group by c.module

此SQL只能获取两个属性。如果您想获得整个文档,可以参考此文档。

我认为单凭一个查询是不可能的:-(我认为一个问题不可能做到这一点:-(