SELECT *,
AVG(GPA) OVER (PARTITION BY Gender) as avg_gpa
FROM table
select
a,
c as min_c
from
(
select
a,
b,
c,
row_number() over(partition by a order by b) as rn --这个partition by 就相当于group by了
from t2
)a
where rn = 1;
简单
窗口函数更易于使用。在上面的示例中,与使用聚合函数然后合并结果相比,使用窗口函数仅需要多一行就可以获得所需要的结果。
快速
这一点与上一点相关,使用窗口函数比使用替代方法要快得多。当你处理成百上千个千兆字节的数据时,这非常有用。
多功能性
最重要的是,窗口函数具有多种功能,本文并没有提及这个功能,比如,包括添加移动平均线,添加行号和滞后数据,等等。
窗口函数, 分析函数, SQL优化, 数据处理, 性能提升
窗口函数能快速处理大数据,简化SQL查询,提高效率,适用于多种分析需求,如计算移动平均、添加行号等。