sql 窗口函数

什么是窗口函数/分析函数

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;

窗口函数的优点

简单

窗口函数更易于使用。在上面的示例中,与使用聚合函数然后合并结果相比,使用窗口函数仅需要多一行就可以获得所需要的结果。

快速

这一点与上一点相关,使用窗口函数比使用替代方法要快得多。当你处理成百上千个千兆字节的数据时,这非常有用。

多功能性

最重要的是,窗口函数具有多种功能,本文并没有提及这个功能,比如,包括添加移动平均线,添加行号和滞后数据,等等。


作者:spike

分类: Mysql

创作时间:2023-06-25

更新时间:2024-12-09

联系方式放在中括号之中例如[[email protected]],回复评论在开头加上标号例如:#1