窗口函数OLAP
可以对数据库数据进行实时分析处理
1.语法:窗口函数 over (partition by 用于分组的字段名 order by 用于排序的字段名)
2.窗口函数的位置,可以放以下两种函数:
①专用窗口函数,比如rank, dense_rank, row_number等
②聚合函数,如sum. avg, count, max, min等
3.窗口函数的功能:
①时具有分组(partition by)和排序(order by)的功能
②减少原表的行数,所以经常用来在每组内排名
注意:窗口函数原则上只能写在select子句中
4.窗口函数使用场景:业务需求“在每组内排名”
窗口函数rank()over(…)是在指定分区(partition by)对指定字段排序(order by),然后依次赋予排名的函数
常见窗口函数:
SQL语句执行逻辑
语法结构:select–from–where–group by–having–order by–limit
运行顺序:from–where–group by–having–order by–limit–select
可参考:某乎 通俗易懂的学会:SQL窗口函数 - 猴子的文章https://zhuanlan.zhihu.com/p/92654574