如何在 Redshift 中对字段进行 GROUP BY 和 CONCATENATE,例如 如果我有 table
ID COMPANY_ID EMPLOYEE
1 1 Anna
2 1 Bill
3 2 Carol
4 2 Dave
我怎样才能得到这样的结果
COMPANY_ID EMPLOYEE
1 Anna, Bill
2 Carol, Dave
There are some solutions for PostgreSQL ,但这些答案中提到的功能目前在 Redshift 中均不可用。
最佳答案
好吧,我来晚了一点,但是announcement about this feature发生在2015年8月3日。 Redshift 引入了 LISTAGG 窗口函数,现在可以这样做了。 这是您问题的快速解决方案 - 可能有用也可能没有用,但将其放在这里以便人们知道!
SELECT COMPANY_ID,
LISTAGG(EMPLOYEE,', ')
WITHIN GROUP (ORDER BY EMPLOYEE)
OVER (PARTITION BY COMPANY_ID) AS EMPLOYEE
FROM YOUR_TABLE
ORDER BY COMPANY_ID
我很高兴看到这个功能,我们的许多生产脚本都准备好升级 Redshift 不断添加的所有新功能。
关于sql - 如何在 redshift 中对字段进行 GROUP BY 和 CONCATENATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24502108/