azure - 如何在 CosmosDB 中使用 Join 操作/子查询

标签 azure azure-cosmosdb azure-cosmosdb-sqlapi

我在 CosmosDB 中有一个容器。它包含大约 30 个变量。 CabId 是其中的列/变量之一。我想选择 CabId 的重复值并完全删除重复 CabId 的这些项目。 PartitionKey 是我的项目中的另一个变量。 其中一项如下所示。

{
     "CabId": "8dc2d0f4-d787-4e98-94d0-665a69bfbbf5",
     "OS_FlightRing": "*****",
     "CPU_FamilyName": "*****",
     "Incident_FailureBucketId": "*****",
     "Geo_ISOCountryShortCode": "cn",
     "OS_Version": "10.0.19042.985",
     "PartitionKey": "29997810-1199392862021-10-20"
}

我正在使用这样的查询来获取具有重复 CabId 的单个项目。但我收到语法错误。

Select * from e JOIN(
 SELECT * FROM( 
  (SELECT c.CabId,Count(c.CabId) AS CabCount
   FROM c
   where c.PartitionKey = "29997810-1238691972021-10-25"
   GROUP BY c.CabId)
 d WHERE d.CabCount > 1))
on d.CabId = e.CabId

最佳答案

下面的查询应该会为您提供重复项,

Select d.CabId From
(SELECT c.CabId,Count(c.CabId) AS 
CabCount FROM c GROUP BY c.CabId) AS d WHERE d.CabCount > 1

{ "CabId": "8dc2d6f4-d787-4e98-94d0-665a69bfbbf5", "OS_FlightRing": "", "CPU_FamilyName": "", "Incident_FailureBucketId": "*****", "Geo_ISOCountryShortCode": "cn", "OS_Version": "10.0.19042.985", "PartitionKey": "29597810-1199392862021-10-20", "id": "703f5337-4fc2-4d77-acc9-2fbf15900366", "_rid": "uYFGAPqp2KYCAAAAAAAAAA==", "_self": "dbs/uYFGAA==/colls/uYFGAPqp2KY=/docs/uYFGAPqp2KYCAAAAAAAAAA==/", "_etag": ""8c00d214-0000-0700-0000-6172ba160000"", "_attachments": "attachments/", "_ts": 1634908694 }

更新:

SELECT count(1) FROM
(SELECT c.CabId ,Count(c.CabId) AS CabCount
FROM c GROUP BY c.CabId,c.PartitionKey) d WHERE d.CabCount > 1

关于azure - 如何在 CosmosDB 中使用 Join 操作/子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69677342/

相关文章:

azure - 在一次调用中检索存储库及其标签版本的列表

Azure 下载 blob SAS - 请确认

azure - 将 Azure 磁盘附加到 AKS pod 时出现权限错误

java - Spring Boot + ReactiveCosmosRepository + java.lang.NoSuchMethodError : reactor. util.concurrent.Queues.empty()Ljava/util/function/Supplier

c# - 无法在 Azure DocumentDB 中进行分页

Azure 数据库 - 架构设计规则

azure - 创建应用程序服务的 IP 地址要求是什么?

c# - Azure 函数 - 我们什么时候需要使用 out 进行输出绑定(bind)?

azure - 使用 JOIN 时使用 UDF 排序