(每次使用窗口函数时,老是忘记窗口中rows的语法,所以有了以下简化版的备忘录。)
一、概念
窗口函数,即根据语法结构组织特定的数据框,计算指定的统计指标值:
-- 语法结构
函数(字段) over([partition by 分组字段] [order by 排序字段] [rows between unbounded preceding and unbounded following])
-- 举例:每年中,员工月累计销量(当前月+之前月)
sum(销量) over(partition by 员工姓名, 年份 order by 月份 rows between unbounded preceding and current row)
其中over()中,可分为以下3个部分:
1. partition by 字段
-- 说明
partition by 用于分组,即与group by的含义一致
2. order by 字段
-- 说明
order by 用于排序,降序的话,直接在字段后面加desc
3. rows between 起点 and 终点
-- 说明
起点:
unbounded preceding:往前不限制,即窗口内第一行
n preceding:前n行
current row:当前行
终点&