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

列聚合不完整咨询:为何GROUP BY后未得到预期聚合结果?

问题原因及修正方案

核心问题:GROUP BY字段错误

你写的GROUP BY ID, CREATED, VER会把所有字段组合不同的记录拆成独立分组,而原始数据中两条记录的VER字段值不同(一个是2023.4.6,一个是NULL),所以被分成了两个分组,导致聚合结果拆分:

  • 第一组(ID=61, CREATED=NULL, VER=2023.4.6):VER不为NULL,所以VER_AGG=0;CREATED为NULL,所以CREATED_AGG=0
  • 第二组(ID=61, CREATED=NULL, VER=NULL):VER为NULL,所以VER_AGG=1;CREATED为NULL,所以CREATED_AGG=0

这就是为什么你得到了两行结果,而非预期的一行。

修正后的SQL

要实现按ID聚合所有记录的统计,只需将GROUP BY改为仅按ID分组:

SELECT ID,
 SUM(CASE WHEN CREATED IS NOT NULL THEN 1 ELSE 0 END) AS CREATED_AGG,
 SUM(CASE WHEN VER IS NULL THEN 1 ELSE 0 END) AS VER_AGG
FROM TABLE
GROUP BY ID

修正后的结果

执行上述SQL后,会得到你预期的结果:

ID|CREATED_AGG|VER_AGG           |
--+-----------+------------------+
61|          0|                 1|

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 13:50:07