[英]Spark SQL - Values from multiple columns into a single column
我需要将表格一数据转换为表格二数据。 尽管有多个行条目,但 SaleCounts 属于特定客户或 customerId,但应将其放入以逗号分隔的单个单元格中。 请参阅以下内容以获得更好的理解。
输入 - 表格第 1 列(各列以空格分隔):
Customer Cid SaleCount
1 1 10
1 1 20
1 1 50
2 4 40
2 4 100
3 56 90
输出 - 表格第 2 列(各列以空格分隔):
Customer Cid SaleCount
1 1 10,20,50
2 4 40,100
3 56 90
在 Spark SQL 中,我认为 FOR XML PATH 不起作用,请尝试:
SELECT Customer, Cid, concat_ws(', ',collect_set(SaleCount)) as SaleCounts
FROM tbl1
GROUP BY Customer, Cid
ORDER BY Customer, Cid
这应该给你你在上面寻找的东西。
请尝试以下方法:
SELECT Customer,Cid, STUFF( (SELECT ', ' + cast( d2.SaleCount as varchar(100)) FROM t1 d2 WHERE d2.Customer = t1.Customer and d2.Cid = t1.Cid ORDER BY Customer, Cid FOR XML PATH('')), 1, 1, '' ) 从 t1
按客户分组,Cid
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.