我想从配置单元表中以逗号分隔的字符串值中提取唯一值。事实上:
select * from data; ID ITEMS 123 "ABB","REG","REG", "ABB","XYZ"
预期结果:
select ===some logic=== from data; ID ITEMS 123 "ABB","REG","XYZ"
请建议。
vc9ivgsu1#
explode 将csv值按每个值分成一行 split 键入csv字符串并使用 collect_set 在拆分值上删除重复项。结果就是 array 要获得csv值,请使用 concat_ws .
explode
split
collect_set
array
concat_ws
select id,items,concat_ws(',',collect_set(split_item)) as result from data lateral view explode(split(items,',')) tbl as split_item group by id,items
1条答案
按热度按时间vc9ivgsu1#
explode
将csv值按每个值分成一行split
键入csv字符串并使用collect_set
在拆分值上删除重复项。结果就是array
要获得csv值,请使用concat_ws
.