行转列&列转行

行转列

  • concat(‘字符串’,‘字符串’):拼接
  • concat_ws(‘分隔符’,‘字符串’,‘字符串’):以分隔符拼接字符串,忽略为空的字符串,但若分隔符是null,则返回值也是null
  • collect_set(字段):把字段值去重合并,转换成数组
--将name列的值转换为数组array
select collect_set(name) from table_1
--将name列的值用-拼接起来
select concat_ws('-',collect_set(name)) from table_1
--显示相同星座级别中的name
select concat_ws(',',xingzuo,grade) fenzu,concat_ws('|',collect_set(name)) value from table_1 group by concat_ws(',',xingzuo,grade)

列转行

  • explode(字段):将字段值(array、map类型)拆分成多
  • lateral view explode(字段) 表别名 as 字段别名:将字段拆成多行后命名为别名,拆分后原表中的其他字段可以按找对应关系进行扩展
--将movie_type拆分成多行,并将movie扩展开来
select movie,explode(movie_type) movie_type_explode from table_2
报错
select movie,movie_type_explode from table_2 lateral view explode(movie_type) table_tmp as movie_type_explode
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值