看到一篇写的非常好的窗口函数笔记,收藏,后续整理
窗口函数的概念
比如我们需要对一份学生表同一班级内的学生成绩做一个排名显示,窗口函数可以进行很好的使用。
窗口函数的语法中,
窗口函数的含义为先分组再排序, row_number() over (partition by col1 order by
col2),表示根据col1分组,在分组内部根据col2排序。
<窗口函数>的位置,可以放以下两种函数:
1) 专用窗口函数,比如rank, dense_rank, row_number等
2) 聚合函数,如sum. avg, count, max, min等
2.窗口函数有以下功能:
1)同时具有分组(partition by)和排序(order by)的功能
2)不减少原表的行数,所以经常用来在每组内排名
3.注意事项
窗口函数原则上只能写在select子句中
关于部分窗口函数的区别,rank函数,dense_rank函数,row_number函数