窗口函数:
FIRST_VALUE
功能:返回分组内排序后,截止到当前行的第一个值。
这个函数最多需两个参数,第一个参数指定想要得到值的列,第二个参数是个布尔值(可选参数,默认为false),如果设置true,跳过null值。
用法示例:
select grid, dl_data, FIRST_VALUE(dl_data) over(partition by time_hour order by dl_data desc)
first_dl_data from tps_g_day;
LAST_VALUE
功能:返回分组内排序后,截止到当前行的最后一个值。
这个函数最多需两个参数,第一个参数指定想要得到值的列,第二个参数是个布尔值(可选参数,默认为false),如果设置true,跳过null值。
用法示例:
select grid, dl_data, LAST_VALUE(dl_data) over(partition by time_hour order by dl_data desc)
last_dl_data from tps_g_day;
LEAD
功能:用于取窗口内往下第n行值,以当前行为参照。
这个函数最多传入3个参数,第一个参数指定想要得到值的列,第二个参数(可选参数,默认为1)表示往下第几行,第三个参数(可选参数,默认为NULL)用于指定默认值。
用法:LEAD(column, n, Default)
select grid, dl_data, LEAD(dl_data, 1, 0) over(partition by time_hour order by dl_data desc)
lead_1_dl_data from tps_g_day;
LAG
功能:用于取窗口内往上第n行值,以当前行为参照。
这个函数最多传入3个参数,第一个参数指定想要得到值的列,第二个参数(可选参数,默认为1)表示往上第几行,第三个参数(可选参