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

Azure Cosmos DB如何按数值区间分组统计各区间文档数量

Azure Cosmos DB 数值区间分组统计方案

你之前编写的查询无法生效的核心原因是:将三个独立的布尔判断作为分组维度,会生成8种交叉组合的分组结果,无法得到你需要的三个互斥区间的统计值。

正确查询语句

SELECT 
    CASE
        WHEN c.TestValue < 10 THEN "Less than 10"
        WHEN c.TestValue >= 10 AND c.TestValue < 100 THEN "Between 10 and 100"
        ELSE "More than 100"
    END AS groupedKey,
    COUNT(1) AS groupedValue
FROM c
GROUP BY 
    CASE
        WHEN c.TestValue < 10 THEN "Less than 10"
        WHEN c.TestValue >= 10 AND c.TestValue < 100 THEN "Between 10 and 100"
        ELSE "More than 100"
    END

相关说明

  • 该查询通过CASE表达式为每条文档的TestValue字段映射对应的区间标签作为groupedKey,再按该标签分组统计数量,返回结果完全符合你期望的格式
  • 对应你给出的测试数据,该查询返回的统计结果为:
    • 小于10的文档数量为6
    • 10到100之间的文档数量为3
    • 大于100的文档数量为1
  • 如果后续需要调整区间范围,直接修改CASE逻辑中的判断条件即可
  • 数据量较大时建议提前给TestValue字段添加索引,可大幅提升查询性能

内容的提问来源于stack exchange,提问作者Steve Norwood

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 15:24:01