如何在连接到 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_no 和 season 并连接将动物分成一列,如下所示:
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;
这不无道理,因为这是函数的标准名称。
举个例子table:
account_no season animal
A spring sheep
A spring cow
A winter pig
B winter lamb
我正在使用连接到 Redshift 的 DBeaver,我想 GROUP BY account_no 和 season 并连接将动物分成一列,如下所示:
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;
这不无道理,因为这是函数的标准名称。