我正在寻找一种以某种方式将不同行的信息带入不同/一列的方法。 这就是问题: 假设我有10个不同的卖家和1000个买家。 当前,这是数据的结构形式(图片) 因此,对于每笔交易,我都有一个带有卖方和买方的编号的行,买方从他那里买了东西。我想要的是每个卖方有1行,然后在一个/不同的列中查看买方的ID。
我正在使用雪花并且了解了不同的方法,但是它们都不起作用。 我在此表中也有一个timestamp列,到目前为止,我唯一能想到的就是
SELECT seller,
rank()over(partition by seller order by purchase_date desc)
之后,我可以使用聚合函数-这不是一个明智的解决方案,并且当我有10 -20个或更多购买者时也不是实际可行的。 解决这类问题的最佳方法是什么?
答案 0 :(得分:1)
根据雪花文档,您应该可以使用listagg函数来做到这一点
https://docs.snowflake.com/en/sql-reference/functions/listagg.html
--This will create a concatenated list of buyers seperated by a comma
select seller
,listagg(buyer,',') within group(order by buyer)
from table
group by seller