0


Hive之lead函数详解

例如如下语句:

**drop table if exists temp03; **

**create table temp03 as **

**select **

card_no,

**deal_date, **

deal_type_station,

LEAD(deal_type_station,1) over(partition by card_no order by deal_date)

**as next_station **

from temp02;

中**LEAD(deal_type_station,1)**是什么意思

答案:在这个查询中,

LEAD(deal_type_station, 1)

是一个窗口函数,用于获取每个

card_no

分组内的当前行的下一行的

deal_type_station

值。

窗口函数用于在查询结果集内执行计算,并且可以访问和处理当前行之外的其他行。

LEAD()

函数是一个窗口函数,用于获取指定列的下一行的值。

具体到这个查询中,

LEAD(deal_type_station, 1)

的意思是获取每个

card_no

分组内,按照

deal_date

排序的当前行的下一行的

deal_type_station

值。

例如,如果

temp02

表的数据如下:
card_nodeal_datedeal_type_station12022-01-01A12022-01-02B22022-01-01C22022-01-03D
那么执行这个查询后,

temp03

表的数据如下:
card_nodeal_datedeal_type_stationnext_station12022-01-01AB12022-01-02BNULL22022-01-01CD22022-01-03DNULL
可以看到,

next_station

列显示了每个

card_no

分组内当前行的下一行的

deal_type_station

值。如果当前行已经是分组内的最后一行,那么

next_station

列的值将为

NULL


本文转载自: https://blog.csdn.net/Programma12/article/details/130821622
版权归原作者 Programma12 所有, 如有侵权,请联系我们删除。

“Hive之lead函数详解”的评论:

还没有评论