我需要将'〜'作为分隔符以行'方式连接字符串值.我有以下数据:
我需要以"row_id"的升序顺序为每个"id"连接"Comment"列,并以"〜"作为分隔符.
预期产量如下:
GROUP_CONCAT不是一个选项,因为它在我的Hive版本中无法识别.我可以使用collect_set或collect_list,但我不能在它们之间插入分隔符.
有什么工作吗?
collect_list返回数组,而不是字符串.
可以使用concat_ws将数组转换为分隔的字符串.
这将有效,没有具体的评论顺序.
select id ,concat_ws('~',collect_list(comment)) as comments from mytable group by id ;
+----+-------------+ | id | comments | +----+-------------+ | 1 | ABC~PRQ~XYZ | | 2 | LMN~OPQ | +----+-------------+