如何将字段值转换为 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;
我正在尝试获取每个 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;