我需要将表格1数据转换为表格2数据。尽管应将多个行条目放入逗号分隔的单个单元格中,但SaleCounts属于特定的customer或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
答案 0 :(得分:0)
请尝试以下方法:
选择客户,客户编号, 东西( (SELECT','+ cast(d2.SaleCount as varchar(100))从t1 d2 哪里d2.Customer = t1.Customer和d2.Cid = t1.Cid 客户订单,CID FOR XML PATH('')),1,1,'' ) 从t1
按客户分组的Cid
答案 1 :(得分:0)
在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
上面应该给你什么?