sql - BigQuery GROUP_CONCAT 和 ORDER BY

标签 sql google-bigquery

我目前正在使用 BigQuery 和 GROUP_CONCAT,它们运行良好。但是,当我像在 SQL 中那样尝试将 ORDER BY 子句添加到 GROUP_CONCAT 语句时,我收到错误消息。

所以例如,像
SELECT a, GROUP_CONCAT(b ORDER BY c) FROM test GROUP BY a
如果我尝试指定分隔符,也会发生同样的情况。

关于如何解决这个问题的任何想法?

最佳答案

BigQuery 中的标准 SQL 模式确实支持某些聚合函数中的 ORDER BY 子句,包括 STRING_AGG,例如:

#standardSQL
select string_agg(t.x order by t.y) 
from unnest([struct<x STRING, y INT64>('a', 5), ('b', 1), ('c', 10)]) t

会导致
b,a,c
文档在这里:https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#using-order-by-with-aggregate-functions

关于sql - BigQuery GROUP_CONCAT 和 ORDER BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31368235/

相关文章:

sql - 如果存储过程中的参数为null,则不更新列

mysql - 如何选取前一天的值?

google-analytics - bigQuery 和 GA-Premium 集成 : How to use IP filters in bigQuery (to exclude internal traffic) when exported data from unfiltered view in GA

google-cloud-platform - 用于插入特定 BigQuery 数据集的 IAM 自定义角色

sql - 根据具有特定值的 ID 创建自定义组

mysql - mysql 查询语法错误以在 python 中更新

sql - 如何获取自引用表的每条记录的所有子项

sql - 获取用户名大小写不同的用户总数

google-cloud-platform - BigQuery 中跨多个用户的数据集的查询费用由谁支付?

sql - 在 SQL 中捕获 200 天支出窗口开始日期