如何将字段值转换为 Azure databricks 中的逗号分隔 SQL

How to convert field values as comma separated in Azure databricks SQL

我正在尝试获取每个 ID 的单个单元格中的字段值作为逗号分隔值

我在 Azure Databricks (SQL) 上使用,我知道我们可以在使用 xml 路径的传统 SQL 上实现这一点..但是看不到这个功能可用在 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;

我正在寻找适用于数据块的类似脚本。

我认为找到了解决方案...它可以使用 spark 函数之一实现。concat_ws(', ',collect_set( col_name )) ..谢谢

在将 T-SQL 转换为 Databricks SQL 时,我只是 运行 变成了类似的东西,我这样解决了:

select user, array_join(collect_list(department), ', ')
  from tablenamehere
 group by user;