更多文章,可关注微信公众号:excelwork
“ 我们在使用SQL查询的数据,经常会遇到数据存到同一个字段下,而我们分析数据需要转成多行或多列等,这种问题就需要用到下面用到的函数了。既然写到这个,索性就细致介绍下。”
比如我们拿到了这样一份数据,把数据放在表table中:
01 行拆分成多行
1.1 sale_district字段中的内容拆分成多行显示:explode
-
explode支持对map中每个键值对或array类型中每个元素生成各生成一行;
-
不支持group by、不支持嵌套
select sku,sale_city,explode(split(sale_district,','))
from table t
结果如下:
1.2 lateral view outer explode避免空值默认不输出
不过我们会发现,拆分的字段为空时,对应的行数据出现丢失,