【发布时间】:2014-10-28 15:24:21
【问题描述】:
我正在尝试对 split 函数的结果进行计数。下面的查询显示了一个示例:
select a.name,
count(if(split(b.name,",")='test',null,1)) > 0 hasTest,
from (select * from (select 'test,this' as name) a left join (select '2' as name) b on
a.name=b.name)
此查询产生错误:SELECT clause has mix of aggregations 'hasTest' and fields 'a.name' without GROUP BY clause
如果我将hasTest 列更改为整数而不是布尔值,那么:
count(if(split(b.name,",")='test',null,1))
查询成功。
出于某种原因,BigQuery 知道如何评估计数函数(处理就地创建的嵌套元素,因此不需要 group by 子句),但无法在以下情况下使用相同的功能计数包含在布尔运算符中。
【问题讨论】:
标签: google-bigquery