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

如何在Cosmos DB的GROUP BY查询中实现多列COUNT统计?

Cosmos DB GROUP BY实现多条件COUNT统计

你的写法报错是因为Cosmos DB SQL不允许在CASE分支中直接调用聚合函数COUNT,正确的做法是将CASE逻辑嵌套到聚合函数内部,通过条件筛选目标记录后再统计数量。

方法一:使用COUNT嵌套CASE

通过CASE判断每条记录是否符合条件,符合则返回非NULL值(比如1),不符合返回NULL,COUNT会自动忽略NULL值,从而实现分组统计:

SELECT c.departmentName,
COUNT(CASE WHEN c.age > 50 THEN 1 END) AS category1,
COUNT(CASE WHEN c.age <= 50 THEN 1 END) AS category2
FROM c
GROUP BY c.departmentName

方法二:使用SUM嵌套CASE

也可以用SUM函数,符合条件时累加1,不符合累加0,同样能得到统计结果:

SELECT c.departmentName,
SUM(CASE WHEN c.age > 50 THEN 1 ELSE 0 END) AS category1,
SUM(CASE WHEN c.age <= 50 THEN 1 ELSE 0 END) AS category2
FROM c
GROUP BY c.departmentName

两种方法效果一致,可根据习惯选择。如果需要排除age字段为NULL的记录,可以在CASE里额外加判断,比如CASE WHEN c.age IS NOT NULL AND c.age >50 THEN 1 END。

内容的提问来源于stack exchange,提问作者AnC Dev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 21:05:54