sql – 用于redshift数据库的数据透视表
发布时间:2020-12-12 06:41:27 所属栏目:MsSql教程 来源:网络整理
导读:我知道之前已经问过这个问题但是任何答案都无法帮助我达到我想要的要求.所以在新线程中提出问题 在redshift中,如何使用每个唯一维度集将数据转换为一行的形式,例如: id Name Category count8660 Iced Chocolate Coffees 1058660 Iced Chocolate Milkshakes 1
我知道之前已经问过这个问题但是任何答案都无法帮助我达到我想要的要求.所以在新线程中提出问题
在redshift中,如何使用每个唯一维度集将数据转换为一行的形式,例如: id Name Category count 8660 Iced Chocolate Coffees 105 8660 Iced Chocolate Milkshakes 10 8662 Old Monk Beer 29 8663 Burger Snacks 18 至 id Name Cofees Milkshakes Beer Snacks 8660 Iced Chocolate 105 10 0 0 8662 Old Monk 0 0 29 0 8663 Burger 0 0 0 18 上面列出的类别会不断变化. 如何在红移中实现此结果? (上面只是一个例子,我们将有1000个类别,这些类别一直在变化) 解决方法我不认为在Redshift中有一种简单的方法可以做到这一点,你还说你有超过1000个类别,而且这个数字还在增长 见附件链接 您可以使用案例,但是您需要为每个类别创建案例 select id,name,sum(case when Category='Coffees' then count) as Cofees,sum(case when Category='Milkshakes' then count) as Milkshakes,sum(case when Category='Beer' then count) as Beer,sum(case when Category='Snacks' then count) as Snacks from my_table group by 1,2 你有的其他选择是将表上传到例如R,然后你可以使用cast函数. cast(data,name~ category) 然后将数据上传回S3或Redshift (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |