You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Cosmos SQL API中如何查询同orderNumber下的所有productNumber?

解决方案

直接使用Cosmos SQL API内置的ARRAY_AGG聚合函数即可实现分组后收集同组内指定字段的所有值,正确查询语句如下:

SELECT 
    c.orderNumber,
    ARRAY_AGG(c.productNumber) AS products
FROM c
GROUP BY c.orderNumber

语句说明

  • ARRAY_AGG()是Cosmos SQL提供的聚合函数,作用是将分组内所有匹配的字段值聚合为一个数组
  • 如果需要对同订单下的重复产品编号去重,可以调整为ARRAY_AGG(DISTINCT c.productNumber) AS products

返回结果示例

执行上述语句后会返回符合需求的结构:

[
  {
    "orderNumber": 1,
    "products": ["p1", "p2"]
  },
  {
    "orderNumber": 2,
    "products": ["p3"]
  }
]

如果确实需要将products字段调整为对象结构,可在拿到查询结果后通过业务代码做二次转换,Cosmos SQL原生暂不支持直接聚合为自定义键值对的对象结构。


内容的提问来源于stack exchange,提问作者Sajan Legend

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:15:01