【问题标题】:How to use Join operation/ Subquery in CosmosDB如何在 CosmosDB 中使用 Join 操作/子查询
【发布时间】:2023-03-27 12:25:01
【问题描述】:

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

【问题讨论】:

    标签: azure azure-cosmosdb azure-cosmosdb-sqlapi


    【解决方案1】:

    下面的查询应该给你重复的,

    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": "附件/", "_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
    

    【讨论】:

    • 感谢@Sajeetharan 的询问。我能够运行查询并获得重复的 CabIds。但是我的最终输出应该给我一个项目的所有输出列/变量输出。例如,假设 CabId "123445" 是重复值,那么我需要获取 CabId "123445" 的所有列/变量,例如 {CabId : "123445", "OS_FlightRing": "", "CPU_FamilyName": "", " Incident_FailureBucketId”:“*****”,“Geo_ISOCountryShortCode”:“cn”,“OS_Version”:“10.0.19042.985”,“PartitionKey”:“29997810-1199392862021-10-20”,. . . . .} 那样。
    猜你喜欢
    • 1970-01-01
    • 2020-09-27
    • 2021-01-14
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 2015-03-04
    • 2016-11-16
    • 2021-12-18
    相关资源
    最近更新 更多