在 BigQuery 中按字母顺序连接列

Posted

技术标签:

【中文标题】在 BigQuery 中按字母顺序连接列【英文标题】:Concatenate columns in alphabetic order in BigQuery 【发布时间】:2020-05-12 04:17:01 【问题描述】:

我在 BigQuery 中有一个表:

|c1|c2|c3|
----------
|a1|'b'|c1|
----------
|a1|'a'|c2|
----------

我想按 c1 和 array_agg c2 分组,并有一个如下表:

 c1| c2
--------
 a1|'ab'

连接 c2 列并保存字母顺序。 有人可以帮我解决这个问题吗?

【问题讨论】:

你试过什么?您的问题几乎描述了查询。 【参考方案1】:

尝试以下操作。你可以在string_agg 中使用order by。这是documentation。

select
    c1,
    string_agg(c2 order by c2) as c2
from yourTable
group by
    c1

【讨论】:

感谢您的回复,但我认为 string_agg 不保存订单? @MayamAbdoli 确实如此,您可以在string_agg 中使用order by。我已经更新了我的答案。

以上是关于在 BigQuery 中按字母顺序连接列的主要内容,如果未能解决你的问题,请参考以下文章

如何在pyspark中按字母顺序对嵌套结构的列进行排序?

如何在数据库表中按字母顺序对列进行排序? [关闭]

在数据框python的每一行中按字母顺序对单词进行排序

如何从内部连接的第二个表中按列选择前 1 个顺序 desc?

在 BigQuery 中按 Max(values) 返回列的名称。错误:“运算符 CASE 没有匹配的签名;”大查询

sql [BigQuery - Facebook产品目录]查询para obtenerelcatálogodeproductos de Kichink。 #facebook #bigqu