找不到功能:group_concat

时间:2016-12-23 09:33:39

标签: google-bigquery google-api-nodejs-client

我很高兴使用"group_concat" BigQuery function执行查询。当我直接在BigQuery接口中执行查询时,查询成功结束,但是当我尝试通过Node js执行该查询时,出现了以下错误:

errors:
   [ { domain: 'global',
       reason: 'invalidQuery',
       message: 'Function not found: group_concat at [4:3]',
       locationType: 'other',
       location: 'query' } ]

代码不是问题,因为它执行简单的查询没有任何问题。

我的查询:

SELECT
  st_hub_session_id,
  num_requests,
  group_concat( group.code, '|' ) as Codes
FROM
  table.name
GROUP BY
  st_hub_session_id,
  group_concat
LIMIT
  1000

哪里可能是问题?

2 个答案:

答案 0 :(得分:2)

在标准SQL中使用STRING_AGG而不是旧版GROUP_CONCAT。您可以通过取消选中“显示选项”下的“使用旧版SQL”或者将#standardSQL置于查询顶部,在UI中使用标准SQL。另请参阅Enabling Standard SQL

答案 1 :(得分:1)

BigQuery有两种SQL模式,标准SQL和传统SQL。您可能将应用程序设置为默认的标准SQL,并通过接口运行LegacySQL。

尝试使用pragma

运行查询
#legacySQL
select group_concat(col) from (select '1' as col)

group_concat函数仅在旧版SQL中可用,并且它不是标准SQL 2011的一部分。