0
点赞
收藏
分享

微信扫一扫

SQL-一文get窗口函数

芝婵 2022-02-15 阅读 88

目录

🎈写在前文

 窗口函数

 什么是窗口函数 

 窗口函数的语法

语法的基本使用方法——使用 RANK 函数

专用窗口函数的种类

计算移动平均

两个 ORDER BY 


 窗口函数

 什么是窗口函数 

 窗口函数的语法

< 窗口函数 > OVER ([ PARTITION BY < 列清单 >]
ORDER BY < 排序用列清单 >)
① 能够作为窗口函数的聚合函数( SUM 、 AVG 、 COUNT 、 MAX 、 MIN )
② RANK 、 DENSE _ RANK 、 ROW _ NUMBER 等专用窗口函数

语法的基本使用方法——使用 RANK 函数

专用窗口函数的种类

RANK 函数
计算排序时,如果存在相同位次的记录,则会跳过之后的位次。
例)有 3 条记录排在第 1 位时:1 位、1 位、1 位、4 位……

 DENSE_RANK 函数
同样是计算排序,即使存在相同位次的记录,也不会跳过之后的位次。
例)有 3 条记录排在第 1 位时:1 位、1 位、1 位、2 位……

 ROW_NUMBER 函数
赋予唯一的连续位次。
例)有 3 条记录排在第 1 位时:1 位、2 位、3 位、4 位……

ps:(专用窗口函数无需参数,因此通常括号中都是空的,原则上窗口函数只能在 SELECT 子句中使用,在 SELECT 子句之外“使用窗口函数是没有意义的”)

计算移动平均

两个 ORDER BY 

  • 使用窗口函数时必须要在 OVER 子句中使用ORDER BY , OVER 子句中的 ORDER BY 只是用来决定窗口函数按照什么样的顺序进行计算的,对结果的排列顺序并没有影响将聚合函数作为窗口函数使用时,会以当前记录为基准来决定汇总对象的记录。
举报

相关推荐

0 条评论