如何在 CosmosDB 中使用 HAVING

Mat*_*han 3 azure-cosmosdb azure-cosmosdb-sqlapi

我正在尝试使用以下查询来查看数据库中是否有重复项

SELECT c.VariantNo, count(1) AS jongel FROM c where c.brand = 'XXXX' AND c.Consumer = 'XXX_V2' GROUP BY c.VariantNo HAVING jongel > 1
Run Code Online (Sandbox Code Playgroud)

但我收到接近 HAVING 的语法错误

如果我有多个具有相同 VariantNo 的文档,我如何才能找到?

Ste*_*son 5

根据我的经验,HAVING不支持。

作为一种解决方法,您可以使用此 sql:

SELECT d.VariantNo,d.jongel from (Select COUNT(1) AS jongel,c.VariantNo from c where c.brand ='cx' and c.Consumer = 'gx' group by c.VariantNo) d where d.jongel > 1

下面是我的测试数据:

[ { "id": "1", "VariantNo": 2, "brand": "cx", "Consumer": "gx" }, { "id": "2", "VariantNo": 3, "brand": "cx", "Consumer": "gx" }, { "id": "3", "VariantNo": 2, "brand": "cx", "Consumer": "gx" }, { "id": "4", "VariantNo": 3, "brand": "cx", "Consumer": "gx" }, { "id": "5", "VariantNo": 6, "brand": "cx", "Consumer": "gx" }
]

这是输出:

[ { "VariantNo": 2, "jongel": 2 }, { "VariantNo": 3, "jongel": 2 } ]