【问题标题】:How to Concatenate 2 Columns using SQL in DBeaver connected to Redshift如何在连接到 Redshift 的 DBeaver 中使用 SQL 连接 2 列
【发布时间】:2021-05-08 17:10:30
【问题描述】:

这是一个示例表:

 account_no     season      animal 
      A         spring      sheep
      A         spring      cow
      A         winter      pig
      B         winter      lamb

我正在使用连接到 Redshift 的 DBeaver,我想按 account_noseason 分组并将动物连接到一个列中,如下所示:

account_no      season     animalList 
     A          spring     sheep, cow
     A          winter     pig   
     B          winter     lamb         

我试过STRING_AGG函数比如

SELECT STRING_AGG(animal,',') AS animalList
FROM Animals
GROUP BY account_no, season

但是,我收到以下错误:

Error occurred during SQL query execution

Reason: SQL Error [500310] [42883]: [Amazon](500310) Invalid operation: function string_agg(character varying, "unknown") does not exist;

我已尝试按照其他线程的建议添加 varchar,但仍然遇到相同的错误

 SELECT STRING_AGG(animal: : varchar,',') AS animalList
    FROM Animals
    GROUP BY account_no, season

感谢您的帮助!

【问题讨论】:

    标签: sql amazon-redshift dbeaver


    【解决方案1】:

    Redshift 调用函数listagg()

    SELECT LISTAGG(animal, ',') WITHIN GROUP (ORDER BY animal) AS animalList
    FROM Animals
    GROUP BY account_no, season;
    

    这并非不合理,因为这是函数的标准名称。

    【讨论】:

    • 嗨,戈登林诺夫,它有效!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 2021-10-31
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    相关资源
    最近更新 更多