Mysql窗口函数快速入门

MySQL从8.0版本开始支持窗口函数。窗口函数的作用类似于在查询中对数据进行分组,不同的是,Group By分组操作会把分组的结果聚合成一条记录,而窗口函数是将分组的结果置于每一条数据记录中

window_function_name (expression)
  over(
  [partition_definition]
  [order_definition]
  [frame_definition])

window_function_name:函数名 (专用窗口函数、也可以使用聚合函数

over:关键字

partition by: 窗口按照指定字段进行分组,窗口功能在分组内执行,并且在跨越分区边界时重新初始化; order by :按照指定字段进行排序,窗口函数将按照排序后的记录顺序进行编号,可以和partition 语句结合使用,也可以单独使用;

frame:frame是当前分区的一个子集,在分区中再进一步的细分窗口,通常用来作为滑动窗口使用,某些窗口函数属于静态窗口,frame子句没有作用

图片[1] - Mysql窗口函数快速入门 - 正则时光
窗口函数的写法

专用窗口函数

图片[2] - Mysql窗口函数快速入门 - 正则时光
专用窗口函数
图片[3] - Mysql窗口函数快速入门 - 正则时光
图片[4] - Mysql窗口函数快速入门 - 正则时光
© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享