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只能获取两个属性。如果您想获得整个文档,可以参考此文档。我认为单凭一个查询是不可能的:-(我认为一个问题不可能做到这一点:-(