开窗函数的一个概念是当前行,当前行属于某个窗口,窗口由 over关键字用来指定函数执行的窗口范围,如果后面括号中什么都不写,则意味着窗口包含满足where 条件的所有行,开窗函数基于所有行进行计算;如果不为空,则有三个参数来设置窗口:
partition by子句:按照指定字段进行分区,两个分区由边界分隔,开窗函数在不同的分区内分别 执行,在跨越分区边界时重新初始化。 order by子句:按照指定字段进行排序,开窗函数将按照排序后的记录顺序进行编号。可以和 partition by子句配合使用,也可以单独使用。 range|rows子句:当前分区的一个子集,用来定义子集的规则,通常用来作为滑动窗口使用。
在第一节基础上 更新了函数和执行顺序:实操了字符数函数、时间函数、字段截取函数、interval函数等,除最后顺序实操因未导入数据库,导致无法执行