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

如何使用SQL COUNT DISTINCT结合GROUP BY实现分组去重计数

可行SQL查询方案

以下是标准实现语句,请将语句中的你的表名替换为你实际使用的数据表名称:

SELECT 
  COLOR,
  SHAPE,
  COUNT(DISTINCT ID1) AS Distinct_ID1,
  COUNT(DISTINCT ID2) AS Distinct_ID2
FROM 
  你的表名
GROUP BY 
  COLOR, SHAPE;

如果执行上述语句结果不符合预期,可对照以下常见问题排查:

  • NULL值统计问题:COUNT(DISTINCT)默认会忽略字段的NULL值,若你需要将NULL作为一个独立的唯一值统计,可以使用COALESCE函数给NULL赋值专属占位符(注意占位符取值不能和ID1/ID2的正常业务取值重复),示例写法:COUNT(DISTINCT COALESCE(ID1, 'NULL_MARK')) AS Distinct_ID1
  • 分组字段错误:确保GROUP BY后仅跟COLOR和SHAPE两个字段,不要额外添加其他非聚合字段,也不要遗漏其中任意一个分组字段
  • 过滤条件位置错误:如果需要先过滤原始数据再做分组统计,过滤条件要写在WHERE子句中(放在FROM之后、GROUP BY之前),不要写在分组后的HAVING子句中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:00:02