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

如何在Google Sheets查询语言中用不同条件统计多个计数?

问题描述

尝试用不同条件统计多个计数,但将它们合并到同一个查询时出现PARSE错误,单独执行每个查询均正常,合并后无法运行,求助解决方法。

单独执行正常的查询示例

Select count(Col2) where Col2 <= 180 

-- 或者

Select count(Col2) where Col2 > 180

-- 或者

Select count(Col2)

合并后无法运行的查询

Select count(Col2) where Col2 <= 180, count(Col2) where Col2 > 180, count(Col2)

出现的错误信息

无法解析函数QUERY参数2的查询字符串:PARSE_ERROR:遇到(原错误信息未完整显示)

解决方法

你原来的写法不符合SQL(包括Google Sheets QUERY语法)的规范,SELECT子句中不能直接给单个聚合函数附加WHERE条件,WHERE是用于全局过滤整行数据的。要在同一查询中按不同条件统计计数,需要使用条件聚合的方式,在COUNT内部通过条件判断筛选符合要求的数据:

方法1:使用IF函数

SELECT COUNT(IF(Col2 <= 180, Col2, NULL)), COUNT(IF(Col2 > 180, Col2, NULL)), COUNT(Col2)

原理:当Col2满足条件时返回字段值,否则返回NULL,而COUNT函数会自动忽略NULL值,从而实现按条件统计。

方法2:使用CASE WHEN语句

SELECT 
  COUNT(CASE WHEN Col2 <= 180 THEN Col2 END),
  COUNT(CASE WHEN Col2 > 180 THEN Col2 END),
  COUNT(Col2)

原理和IF函数一致,通过CASE WHEN判断条件,符合条件时返回字段值,否则返回默认的NULL,最终由COUNT统计有效数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 21:04:55