我在 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/