load data inpath '/input/r2c2.txt' into table row2col2;
复制代码
-- 验证数据
select * from row2col2;
复制代码
需求1:
需求1: 把原表数据变成以下格式
a b [1,2,3]
c d [4,5,6]
思绪:使用collect_list()函数有序不去重
select
col1,
col2,
collect_list(col3) -- 先将col3收集
from row2col2
group by
col1, col2;
复制代码
需求2:
需求2: 把原表数据变成以下格式
a b '1-2-3'
c d '4-5-6'
思绪:1,2,3已经知道怎么收集了,可以用concat来将这几个数字与符号-拼接起来
concat_ws():函数在连接字符串的时间,只要有一个字符串不是NULL,就不会返回NULL。concat_ws():函数需要指定分隔符。
但concat_ws只支持拼接字符串,所以需要先用cast强转成字符串