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

SQL查询:如何筛选COUNT(*)别名TOTAL大于1的客户统计结果?

问题解决:筛选聚合总数大于1的SQL查询

你的问题出在WHERE子句的使用时机:WHERE是在分组(GROUP BY)之前过滤原始行的,这时候TOTAL这个聚合统计结果还没生成,所以没法用它来做判断。

要过滤分组后的聚合结果,得用HAVING子句,它专门用于对GROUP BY生成的分组结果进行条件筛选。

修正后的通用SQL代码:

SELECT P.Customer, COUNT(*) as TOTAL
FROM Projects P
GROUP BY P.Customer
HAVING COUNT(*) > 1

部分数据库(如MySQL)支持直接使用别名筛选,写法如下:

SELECT P.Customer, COUNT(*) as TOTAL
FROM Projects P
GROUP BY P.Customer
HAVING TOTAL > 1

核心区别:

  • WHERE 负责过滤分组前的原始行
  • HAVING 负责过滤分组后的聚合结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:46:16