我正在尝试使用一些非常简单的逻辑将未旋转的列转换为本质上相当于分组列表的内容。然而,在有效地做到这一点上遇到了困难。
本质上,我有一个数据集,如下所示:
CUST_ID ORDER
1 Cake
1 Bread
2 Cake
3 Cake
3 Bread
3 Croissant
4 Croissant
但想输出如下:
CUST_ID ORDERS
1 Cake
1 Bread, Cake
3 Cake, Bread, Croissant
4 Croissant
我尝试过子查询(我无法开始工作),但这看起来仍然很残酷:
SELECT CUST_ID, SELECT (ORDER FROM table GROUP BY CUST_ID)
FROM table
GROUP BY CUSTT_ID
有任何想法吗?
基于这个问题,Redshift 现在有一个LISTAGG()您可以使用的分析函数。
SELECT CUST_ID,
LISTAGG("ORDER", ', ')
WITHIN GROUP (ORDER BY "ORDER")
OVER (PARTITION BY CUST_ID) AS CUST_ID
FROM Table
ORDER BY CUST_ID
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)