繁体   English   中英

Spark SQL - 从多列到单列的值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM