Google bigquery BigQuery-将多个行和列连接成一行

Google bigquery BigQuery-将多个行和列连接成一行,google-bigquery,Google Bigquery,我有这样的专栏 id|name | Country 1|John | usa 1|Tom | Canada 1|Bob | Italy 2|Jack | China 2|Tim | USA 我需要像这样的输出 id|Text 1| John USA , Tom Canada , Bob Italy 2|Jack China, Tim USA 下面是BigQuery标准SQL #standardSQL SELECT id, STRING_AGG(CONCAT(name, ' ' ,

我有这样的专栏

id|name | Country
1|John | usa
1|Tom  | Canada
1|Bob  | Italy
2|Jack | China
2|Tim  | USA
我需要像这样的输出

id|Text
1| John USA , Tom Canada , Bob Italy  
2|Jack China, Tim USA

下面是BigQuery标准SQL

#standardSQL
SELECT id, STRING_AGG(CONCAT(name, ' ' , country)) text 
FROM `project.dataset.table`
GROUP BY id   
您可以使用问题中的示例数据测试、播放上述内容,如下例所示

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 1 id, 'John' name, 'Usa' country UNION ALL
  SELECT 1, 'Tom', 'Canada' UNION ALL
  SELECT 1, 'Bob', 'Italy' UNION ALL
  SELECT 2, 'Jack', 'China' UNION ALL
  SELECT 2, 'Tim', 'USA' 
)
SELECT id, STRING_AGG(CONCAT(name, ' ' , country)) text 
FROM `project.dataset.table`
GROUP BY id   
有输出

Row id  text     
1   1   John Usa,Tom Canada,Bob Italy    
2   2   Jack China,Tim USA   

下面是BigQuery标准SQL

#standardSQL
SELECT id, STRING_AGG(CONCAT(name, ' ' , country)) text 
FROM `project.dataset.table`
GROUP BY id   
您可以使用问题中的示例数据测试、播放上述内容,如下例所示

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 1 id, 'John' name, 'Usa' country UNION ALL
  SELECT 1, 'Tom', 'Canada' UNION ALL
  SELECT 1, 'Bob', 'Italy' UNION ALL
  SELECT 2, 'Jack', 'China' UNION ALL
  SELECT 2, 'Tim', 'USA' 
)
SELECT id, STRING_AGG(CONCAT(name, ' ' , country)) text 
FROM `project.dataset.table`
GROUP BY id   
有输出

Row id  text     
1   1   John Usa,Tom Canada,Bob Italy    
2   2   Jack China,Tim USA