未找到函数:group_concat

Function not found: group_concat

我对使用 "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

问题出在哪里?

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

尝试 运行 使用 pragma

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

group_concat 功能仅在旧版 SQL 中可用,它不是标准 SQL 2011 的一部分。

在标准 SQL 中使用 STRING_AGG 而不是旧版 GROUP_CONCAT。您可以通过取消选中 "Show Options" 下的 "Use legacy SQL" 或将 #standardSQL 放在查询顶部来使用标准 SQL 到 UI。另见 Enabling Standard SQL