窗口函数的通用形式:
<窗口函数> OVER ([PARTITION BY <列名>]
ORDER BY <排序用列名>)
大致来说,窗口函数可以分为两类。
一是 将SUM、MAX、MIN等聚合函数用在窗口函数中
二是 RANK、DENSE_RANK等排序用的专用窗口函数
专用窗口函数
RANK函数**(英式排序)**
DENSE_RANK函数**(中式排序)**
ROW_NUMBER函数 赋予唯一的连续位次。
<窗口函数> OVER (ORDER BY
<排序用列名> ROWS n PRECEDING )
<窗口函数> OVER (ORDER BY
<排序用列名> ROWS BETWEEN n PRECEDING AND n FOLLOWING)
PRECEDING(“之前”), 将框架指定为 “截止到之前 n 行”,加上自身行
FOLLOWING(“之后”), 将框架指定为 “截止到之后 n 行”,加上自身行
BETWEEN 1 PRECEDING AND 1 FOLLOWING,将框架指定为 “之前1行” + “之后1行” + “自身”