如何在连接到 Redshift 的 DBeaver 中使用 SQL 连接 2 列

How to Concatenate 2 Columns using SQL in DBeaver connected to Redshift

举个例子table:

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

我正在使用连接到 Redshift 的 DBeaver,我想 GROUP BY 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

感谢您的帮助!

Redshift 调用函数 listagg():

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

这不无道理,因为这是函数的标准名称。