Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google bigquery BigQuery-同时运行count和split函数_Google Bigquery - Fatal编程技术网

Google bigquery BigQuery-同时运行count和split函数

Google bigquery BigQuery-同时运行count和split函数,google-bigquery,Google Bigquery,我正在尝试对分割函数的结果进行计数。下面的查询显示了一个示例: 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子句混合了聚合“hasTest”和字

我正在尝试对分割函数的结果进行计数。下面的查询显示了一个示例:

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子句混合了聚合“hasTest”和字段“a.name”,但没有GROUP BY子句

如果我将
hasTest
列更改为整数而不是布尔值,则:

count(if(split(b.name,",")='test',null,1))
查询成功


出于某种原因,BigQuery知道如何计算count函数(处理就地创建的嵌套元素,因此不需要group by子句),但当count被包装在布尔运算符中时,它无法获得相同的功能。

我认为这只是一条不清楚的错误消息。 这里的问题似乎与null的数据类型有关。bq需要您定义nulls数据类型。默认的空数据类型为布尔值。如果不定义它,则同一字段中会混合使用多种数据类型