我正在尝试获取每个ID的单个单元格中的字段值作为逗号分隔的值
我在Azure Databricks(SQL)上使用,我知道我们可以在传统SQL上使用xml path ..来实现此功能,但是在Azure Databricks中看不到此功能。我们还有其他方法可以达到以下预期结果吗?
采样数据如下
ID User Department
1 User1 Admin
2 User1 Accounts
3 User2 Finance
4 User3 Sales
5 User3 Finance
我正在寻找有关数据块的SQL查询,该查询会给我以下输出结果
ID User Department
1 User1 Admin,Accounts
2 User2 Finance
3 User3 Sales, Finance
select distinct t.[user],
STUFF((SELECT distinct ', ' + t1.department
from yourtable t1
where t.[user] = t1.[user]
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,2,'') department
from yourtable t;
我正在寻找适用于数据块的类似脚本。
答案 0 :(得分:0)
我认为找到了解决方案...可以使用spark函数之一实现.. concat_ws(',',, collect_set(col_name))..谢谢