09:49 2021-08-18 11:01 采纳率: 0%
浏览 151

impala根据某字段一行转多行

img

在impala环境下,想将红框左表的数据一列转多行变成右表,请问该怎么转呢?

用iql

  • 写回答

1条回答 默认 最新

  • 只是甲 2021-08-18 16:10
    关注

    impala没用过,我这边给出MySQL的解决方案

    create table t1(banji varchar(20), students varchar(20));
    
    insert into t1 values ('1班','张三,李四,王五'),('2班','赵六,陈一');
    
    
    
    select  banji,
            SUBSTRING_INDEX(SUBSTRING_INDEX(students,',',tmp1.rn),',',-1) as new_str2
    from t1
    inner join 
    (select 1 as rn
     union 
     select 2 as rn
     union 
     select 3 as rn
    ) tmp1
    on length(t1.students) - length(replace(t1.students,',','')) + 1 >= tmp1.rn
    order by t1.banji
    ;
    

    img

    评论

报告相同问题?

问题事件

  • 创建了问题 8月18日