簡體   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