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

如何在COUNT函数中结合CASE与ELSE实现指定分组统计?

合并非x/y统计项的SQL修改方案

你只需要调整原语句的统计逻辑,保留count_x和count_y,新增count_other来汇总所有非x、y的记录,修改后的SQL语句如下:

SELECT
  COUNT(CASE WHEN column = 'x' THEN 1 END) AS count_x,
  COUNT(CASE WHEN column = 'y' THEN 1 END) AS count_y,
  COUNT(CASE WHEN column NOT IN ('x', 'y') THEN 1 END) AS count_other
FROM your_table;

逻辑说明:

  • count_x和count_y的统计逻辑和原来一致,仅对指定值的记录计数。
  • count_other通过CASE判断字段值是否不属于('x','y'):符合条件时返回1,否则默认返回NULL(CASE语句未写ELSE时默认返回NULL)。
  • COUNT()函数会自动忽略NULL值,因此只会统计所有非x、y的记录数,不需要额外写ELSE;如果要明确逻辑,写成CASE WHEN column NOT IN ('x', 'y') THEN 1 ELSE NULL END效果完全相同。

验证示例:

示例数据:

idcolumn
1x
2x
3y
4a
5b
6b
7c

执行后预期结果:

count_xcount_ycount_other
214

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 01:00:56