Lateral View(行转列)

本文介绍了SQL的Lateral View功能,结合UDTF实现行转列。通过命令格式、示例数据和实际工作案例展示了如何使用Lateral View进行数据拆分和多列拆分,以及在实际场景中的应用。
摘要由CSDN通过智能技术生成

通过Lateral View与UDTF(表生成函数)结合,将单行数据拆成多行数据,即行转列。

命令格式

lateralView: lateral view [outer] <udtf_name>(<expression>) <table_alias> as <columnAlias> (',' <columnAlias>) 
fromClause: from <baseTable> (lateralView) [(lateralView) ...]
  • udtf_name:必填。将一行数据拆成多行数据的UDTF,请参见其他函数
  • expression:必填。待拆分行数据所属列名。
  • table_alias:必填。UDTF结果集的别名。
  • columnAlias:必填。拆分后得到的列的别名。
  • baseTable:必填。数据源表。

此外,from后可以有多个Lateral View语句,后面的Lateral View语句能够引用它前面的所有表和列名,实现对不同列的行数据进行拆分。

示例数据

假设已有一张表pageAds,它有三列数据,第一列是pageid string,第二列是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

data大柳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值